Skip to content

Commit

Permalink
feat(unification): create ad unit configuration interfaces and classes
Browse files Browse the repository at this point in the history
  • Loading branch information
ValentinPostindustria committed Mar 3, 2022
1 parent cd2400f commit 24ae52d
Show file tree
Hide file tree
Showing 8 changed files with 497 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

package org.prebid.mobile;

enum AdType {
public enum AdType {
BANNER,
INTERSTITIAL,
NATIVE,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

import java.util.ArrayList;

class NativeRequestParams {
public class NativeRequestParams {
// // constants
static String VERSION = "ver";
static String SUPPORTED_VERSION = "1.2";
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package org.prebid.mobile.unification;

import org.prebid.mobile.AdSize;
import org.prebid.mobile.BannerBaseAdUnit;
import org.prebid.mobile.VideoBaseAdUnit;

import java.util.HashSet;

public class AdUnitConfiguration extends BaseAdUnitConfiguration implements AdUnitConfigurationInterface {

private AdSize minSizePercentage;
private HashSet<AdSize> sizes;
private BannerBaseAdUnit.Parameters bannerParameters;
private VideoBaseAdUnit.Parameters videoParameters;

@Override
public void setMinSizePercentage(AdSize minSizePercentage) {
this.minSizePercentage = minSizePercentage;
}

@Override
public AdSize getMinSizePercentage() {
return minSizePercentage;
}

@Override
public void addSize(AdSize additionalSize) {
sizes.add(additionalSize);
}

@Override
public HashSet<AdSize> getSizes() {
return sizes;
}

@Override
public void setBannerParameters(BannerBaseAdUnit.Parameters parameters) {
bannerParameters = parameters;
}

@Override
public BannerBaseAdUnit.Parameters getBannerParameters() {
return bannerParameters;
}

@Override
public void setVideoParameters(VideoBaseAdUnit.Parameters parameters) {
videoParameters = parameters;
}

@Override
public VideoBaseAdUnit.Parameters getVideoParameters() {
return videoParameters;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package org.prebid.mobile.unification;

import org.prebid.mobile.AdSize;
import org.prebid.mobile.BannerBaseAdUnit;
import org.prebid.mobile.VideoBaseAdUnit;

import java.util.HashSet;

public interface AdUnitConfigurationInterface extends BaseAdUnitConfigurationInterface {

public void setMinSizePercentage(AdSize minSizePercentage);

public AdSize getMinSizePercentage();


public void addSize(AdSize additionalSize);

public HashSet<AdSize> getSizes();


public void setBannerParameters(BannerBaseAdUnit.Parameters parameters);

public BannerBaseAdUnit.Parameters getBannerParameters();


public void setVideoParameters(VideoBaseAdUnit.Parameters parameters);

public VideoBaseAdUnit.Parameters getVideoParameters();

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
package org.prebid.mobile.unification;

import androidx.annotation.NonNull;
import org.prebid.mobile.AdType;
import org.prebid.mobile.ContentObject;
import org.prebid.mobile.DataObject;

import java.util.*;

public abstract class BaseAdUnitConfiguration implements BaseAdUnitConfigurationInterface {

private AdType adType;
private String configId;
private ContentObject appContent;
private String pbAdSlot;
private final ArrayList<DataObject> userDataObjects = new ArrayList<>();
private final Map<String, Set<String>> contextDataDictionary = new HashMap<>();
private final Set<String> contextKeywordsSet = new HashSet<>();

@Override
public void setAdType(AdType adType) {
this.adType = adType;
}

@Override
public AdType getAdType() {
return adType;
}

@Override
public void setConfigId(String configId) {
this.configId = configId;
}

@Override
public String getConfigId() {
return configId;
}

@Override
public void setAppContent(ContentObject content) {
appContent = content;
}

@Override
public ContentObject getAppContent() {
return appContent;
}

@Override
public void setPbAdSlot(String pbAdSlot) {
this.pbAdSlot = pbAdSlot;
}

@Override
public String getPbAdSlot() {
return pbAdSlot;
}

@Override
public void addUserData(DataObject dataObject) {
if (dataObject != null) {
userDataObjects.add(dataObject);
}
}

@Override
@NonNull
public ArrayList<DataObject> getUserData() {
return userDataObjects;
}

@Override
public void clearUserData() {
userDataObjects.clear();
}

@Override
public void addContextData(String key, String value) {
if (key != null && value != null) {
HashSet<String> hashSet = new HashSet<>();
hashSet.add(value);
contextDataDictionary.put(key, hashSet);
}
}

@Override
public void updateContextData(String key, Set<String> value) {
if (key != null && value != null) {
contextDataDictionary.put(key, value);
}
}

@Override
public void removeContextData(String key) {
contextDataDictionary.remove(key);
}

@Override
@NonNull
public Map<String, Set<String>> getContextDataDictionary() {
return contextDataDictionary;
}

@Override
public void clearContextData() {
contextDataDictionary.clear();
}

@Override
public void addContextKeyword(String keyword) {
if (keyword != null) {
contextKeywordsSet.add(keyword);
}
}

@Override
public void addContextKeywords(Set<String> keywords) {
if (keywords != null) {
contextKeywordsSet.addAll(keywords);
}
}

@Override
public void removeContextKeywords(String key) {
if (key != null) {
contextKeywordsSet.remove(key);
}
}

@Override
@NonNull
public Set<String> getContextKeywordsSet() {
return contextKeywordsSet;
}

@Override
public void clearContextKeywords() {
contextKeywordsSet.clear();
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
package org.prebid.mobile.unification;

import org.prebid.mobile.AdType;
import org.prebid.mobile.ContentObject;
import org.prebid.mobile.DataObject;

import java.util.ArrayList;
import java.util.Map;
import java.util.Set;

public abstract interface BaseAdUnitConfigurationInterface {

public void setAdType(AdType adType);

public AdType getAdType();


public void setConfigId(String configId);

public String getConfigId();


public void setAppContent(ContentObject content);

public ContentObject getAppContent();


public void setPbAdSlot(String pbAdSlot);

public String getPbAdSlot();


public void addUserData(DataObject dataObject);

public ArrayList<DataObject> getUserData();

public void clearUserData();


public void addContextData(String key, String value);

public void updateContextData(String key, Set<String> value);

public void removeContextData(String key);

public Map<String, Set<String>> getContextDataDictionary();

public void clearContextData();


public void addContextKeyword(String keyword);

public void addContextKeywords(Set<String> keywords);

public void removeContextKeywords(String key);

public Set<String> getContextKeywordsSet();

public void clearContextKeywords();

}
Loading

0 comments on commit 24ae52d

Please sign in to comment.