Package io.didomi.sdk
Class VendorRepository
- java.lang.Object
-
- io.didomi.sdk.VendorRepository
-
public class VendorRepository extends java.lang.ObjectPurposes and vendors repository This class manages the purposes and vendors loaded by the SDK
-
-
Constructor Summary
Constructors Constructor Description VendorRepository(ConfigurationRepository configurationRepository, io.didomi.sdk.resources.LanguagesHelper languagesHelper)Create a VendorRepository and initialize the required vendors and purposes from configuration
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Set<Vendor>getAllRequiredVendors()Get the required vendors from the configjava.util.Set<java.lang.String>getAllRequiredVendorsIds()Get ids of the required vendors from the configjava.util.Set<Purpose>getEssentialPurposes(Vendor vendor)Get the essential purposes for a vendorio.didomi.sdk.models.FeaturegetFeature(java.lang.String id)Get a feature by IDjava.util.List<io.didomi.sdk.publisherrestrictions.PublisherRestriction>getPublisherRestrictions()Get the list of publisher restrictionsPurposegetPurpose(java.lang.String id)Get a purpose by IDPurposegetPurposeByIabId(java.lang.String iabId)Get purpose with specified IAB idjava.util.Map<java.lang.String,Purpose>getPurposes()Get all purposes defined in the configjava.util.Set<Purpose>getPurposesByID(java.util.Set<java.lang.String> purposeIds)Get purposes from a set of purpose IDsjava.util.Set<io.didomi.sdk.models.DataProcessing>getRequiredAdditionalDataProcessing()Get the required additional data processing (special purposes and features)java.util.Set<io.didomi.sdk.models.DataProcessing>getRequiredAdditionalDataProcessing(Vendor vendor)Get the required additional data processing (special purposes and features) for a vendorjava.util.Set<java.lang.String>getRequiredFeatureIds()Get IDs of required featuresjava.util.Set<io.didomi.sdk.models.Feature>getRequiredFeatures()Get required featuresjava.util.Set<java.lang.String>getRequiredPurposeIds()Get the required purpose IDs from the configjava.util.Set<java.lang.String>getRequiredPurposeLegIntIds()Get the id of purposes for which legitimate interest is required from the configjava.util.Set<Purpose>getRequiredPurposes()Get the required purposes from the configjava.util.Set<Purpose>getRequiredPurposesConsent()Get purposes for which consent is required from the configjava.util.Set<java.lang.String>getRequiredPurposesConsentIds()Get the id of purposes for which consent is required from the configjava.util.Set<Purpose>getRequiredPurposesLegInt()Get purposes for which legitimate interest is required from the configjava.util.Set<java.lang.String>getRequiredSpecialPurposeIds()Get IDs of required special purposesjava.util.Set<io.didomi.sdk.models.SpecialPurpose>getRequiredSpecialPurposes()Get required special purposesjava.util.Set<java.lang.String>getRequiredVendorConsentIds()Get the id of vendors for which consent is required from the configjava.util.Set<java.lang.String>getRequiredVendorLegIntIds()Get the id of vendors for which legitimate interest is required from the configjava.util.Set<Vendor>getRequiredVendorsConsent()Get vendors for which consent is required from the configjava.util.Set<Vendor>getRequiredVendorsLegInt()Get vendors for which legitimate interest is required from the configPurposegetSpecialFeatureFromIABID(java.lang.String id)Get special feature from its IAB IDio.didomi.sdk.models.SpecialPurposegetSpecialPurpose(java.lang.String id)Get a special purpose by IDVendorgetVendor(java.lang.String id)Get a vendor by IDjava.util.Set<java.lang.String>getVendorIDsWithEssentialPurposesOnly()Get Vendor IDs with essential purposes only.java.util.Set<java.lang.String>getVendorIDsWithNoConsentNorLIPurposes()Get Vendor IDs with no associated consent or LI purposes.java.util.Map<java.lang.String,Vendor>getVendors()java.util.Set<Vendor>getVendorsByID(java.util.Set<java.lang.String> vendorIds)Get vendors from a set of vendor IDsvoidupdateEssentialPurposes(java.util.Set<Purpose> essentialPurposes)Perform changes to handle essential purposes list.voidupdateTranslations(io.didomi.sdk.resources.LanguagesHelper languagesHelper)Update translations, for example after language was changed.
-
-
-
Constructor Detail
-
VendorRepository
public VendorRepository(ConfigurationRepository configurationRepository, io.didomi.sdk.resources.LanguagesHelper languagesHelper)
Create a VendorRepository and initialize the required vendors and purposes from configuration- Parameters:
configurationRepository- initialized configurationlanguagesHelper- languageHelper
-
-
Method Detail
-
updateTranslations
public void updateTranslations(io.didomi.sdk.resources.LanguagesHelper languagesHelper)
Update translations, for example after language was changed. Currently only custom purposes are updated.- Parameters:
languagesHelper- the updated languageHelper
-
getPublisherRestrictions
@NotNull public java.util.List<io.didomi.sdk.publisherrestrictions.PublisherRestriction> getPublisherRestrictions()
Get the list of publisher restrictions- Returns:
- the list of valid publisher restrictions from config
-
getPurposes
public java.util.Map<java.lang.String,Purpose> getPurposes()
Get all purposes defined in the config- Returns:
- list of purposes
-
getPurposesByID
public java.util.Set<Purpose> getPurposesByID(java.util.Set<java.lang.String> purposeIds)
Get purposes from a set of purpose IDs- Parameters:
purposeIds-- Returns:
-
getPurposeByIabId
public Purpose getPurposeByIabId(java.lang.String iabId)
Get purpose with specified IAB id- Parameters:
iabId- requested IAB id- Returns:
- the purpose, or null
-
getVendorsByID
public java.util.Set<Vendor> getVendorsByID(java.util.Set<java.lang.String> vendorIds)
Get vendors from a set of vendor IDs- Parameters:
vendorIds-- Returns:
-
getVendors
public java.util.Map<java.lang.String,Vendor> getVendors()
-
getVendor
public Vendor getVendor(java.lang.String id)
Get a vendor by ID- Parameters:
id- vendor id or corresponding IAB vendor id- Returns:
- Vendor or null
-
getPurpose
public Purpose getPurpose(java.lang.String id)
Get a purpose by ID- Parameters:
id-- Returns:
- Purpose or null
-
getSpecialPurpose
public io.didomi.sdk.models.SpecialPurpose getSpecialPurpose(java.lang.String id)
Get a special purpose by ID- Parameters:
id-- Returns:
-
getRequiredSpecialPurposeIds
public java.util.Set<java.lang.String> getRequiredSpecialPurposeIds()
Get IDs of required special purposes- Returns:
-
getRequiredSpecialPurposes
public java.util.Set<io.didomi.sdk.models.SpecialPurpose> getRequiredSpecialPurposes()
Get required special purposes- Returns:
-
getFeature
public io.didomi.sdk.models.Feature getFeature(java.lang.String id)
Get a feature by ID- Parameters:
id-- Returns:
-
getRequiredFeatureIds
public java.util.Set<java.lang.String> getRequiredFeatureIds()
Get IDs of required features- Returns:
-
getRequiredFeatures
public java.util.Set<io.didomi.sdk.models.Feature> getRequiredFeatures()
Get required features- Returns:
-
getAllRequiredVendors
public java.util.Set<Vendor> getAllRequiredVendors()
Get the required vendors from the config- Returns:
- set of vendors
-
getAllRequiredVendorsIds
public java.util.Set<java.lang.String> getAllRequiredVendorsIds()
Get ids of the required vendors from the config- Returns:
- set of ids
-
getVendorIDsWithEssentialPurposesOnly
public java.util.Set<java.lang.String> getVendorIDsWithEssentialPurposesOnly()
Get Vendor IDs with essential purposes only.- Returns:
- set of ids
-
getVendorIDsWithNoConsentNorLIPurposes
public java.util.Set<java.lang.String> getVendorIDsWithNoConsentNorLIPurposes()
Get Vendor IDs with no associated consent or LI purposes.- Returns:
- set of ids
-
getRequiredVendorsConsent
public java.util.Set<Vendor> getRequiredVendorsConsent()
Get vendors for which consent is required from the config- Returns:
- set of vendors
-
getRequiredVendorConsentIds
public java.util.Set<java.lang.String> getRequiredVendorConsentIds()
Get the id of vendors for which consent is required from the config- Returns:
- set of ids
-
getRequiredVendorsLegInt
public java.util.Set<Vendor> getRequiredVendorsLegInt()
Get vendors for which legitimate interest is required from the config- Returns:
- set of vendors
-
getRequiredVendorLegIntIds
public java.util.Set<java.lang.String> getRequiredVendorLegIntIds()
Get the id of vendors for which legitimate interest is required from the config- Returns:
- set of ids
-
getRequiredPurposesConsent
public java.util.Set<Purpose> getRequiredPurposesConsent()
Get purposes for which consent is required from the config- Returns:
- set of purposes
-
getRequiredPurposesConsentIds
public java.util.Set<java.lang.String> getRequiredPurposesConsentIds()
Get the id of purposes for which consent is required from the config- Returns:
- set of purposes
-
getRequiredPurposesLegInt
public java.util.Set<Purpose> getRequiredPurposesLegInt()
Get purposes for which legitimate interest is required from the config- Returns:
- set of purposes
-
getRequiredPurposeLegIntIds
public java.util.Set<java.lang.String> getRequiredPurposeLegIntIds()
Get the id of purposes for which legitimate interest is required from the config- Returns:
- set of ids
-
getRequiredPurposes
@NonNull public java.util.Set<Purpose> getRequiredPurposes()
Get the required purposes from the config- Returns:
-
getRequiredPurposeIds
public java.util.Set<java.lang.String> getRequiredPurposeIds()
Get the required purpose IDs from the config- Returns:
-
getRequiredAdditionalDataProcessing
public java.util.Set<io.didomi.sdk.models.DataProcessing> getRequiredAdditionalDataProcessing()
Get the required additional data processing (special purposes and features)- Returns:
-
getRequiredAdditionalDataProcessing
public java.util.Set<io.didomi.sdk.models.DataProcessing> getRequiredAdditionalDataProcessing(Vendor vendor)
Get the required additional data processing (special purposes and features) for a vendor- Returns:
-
getEssentialPurposes
public java.util.Set<Purpose> getEssentialPurposes(Vendor vendor)
Get the essential purposes for a vendor- Parameters:
vendor- a vendor- Returns:
- list of essential purposes for this vendor
-
getSpecialFeatureFromIABID
public Purpose getSpecialFeatureFromIABID(java.lang.String id)
Get special feature from its IAB ID- Parameters:
id-- Returns:
-
updateEssentialPurposes
public void updateEssentialPurposes(java.util.Set<Purpose> essentialPurposes)
Perform changes to handle essential purposes list. Purposes will be flagged as essential, and vendors using these purposes as consent or LI will be updated.- Parameters:
essentialPurposes- List of essential purposes
-
-