java.lang.Object
com.priint.pubserver.plugin.entitydata.Context
All Implemented Interfaces:
GetIdentifier, EntityData, PersistentData, Serializable

@Entity public class Context extends Object implements Serializable, GetIdentifier, EntityData, PersistentData

Holds context data like language, country, assortment, well, target group, market etc.

Context contains a list of data used to specify or filter data from connectors.

Since:
4.0.0, 4.0.5 added JPA annotations
See Also:
  • Field Details

    • deleted

      protected int deleted
    • import_id

      protected int import_id
  • Constructor Details

    • Context

      public Context()
  • Method Details

    • getIdentifier

      public String getIdentifier()
      Get identifier for context. If not already set, default identifier will be returned (see getDefaultIdentifier() ).
      Specified by:
      getIdentifier in interface EntityData
      Specified by:
      getIdentifier in interface GetIdentifier
      Specified by:
      getIdentifier in interface PersistentData
      Returns:
      string identifier
    • recalculateIdentifier

      public void recalculateIdentifier()
      This method calculate and set identifier value based on default identifier (see getDefaultIdentifier() ).
    • getDefaultIdentifier

      public String getDefaultIdentifier()
      Returns:
      default identifier is constructed from context data already set.
    • setIdentifier

      public void setIdentifier(String identifier)
      Set identifier for this context.

      Throws NullArgumentException if identifier is null.

      Specified by:
      setIdentifier in interface EntityData
      Parameters:
      identifier - data object id as string
    • getCountry

      public String getCountry()
      Get country value.

      ISO 3166 alpha-2 country code (two-letter upper-case representation) e.g. "DE" for Germany or "CH" for Switzerland.
      Empty string is used for ANY country.

      Returns:
      country
    • setCountry

      public void setCountry(String country)
      Set the context country.

      In cases where the calling source code uses country codes different from ISO 3166-1 (or UN M.49) you have to transform the input argument in advance.

      Example for codes in IOC (International Olympic Committee):

       new Context().setCountry(LocaleUtils.getPubServerCountry(country, "IOC"));
       
      This expects that a translation table from IOC to ISO 3166-1 has been loaded (e.g. translating "GER" to "DE").
      Parameters:
      country - a valid ISO 3166-1 country code, e.g. "DE" (Germany), or "EG" (Egypt)
    • getLanguage

      public String getLanguage()
      Get language value.

      ISO 639 alpha-3 language code (three-letter lower-case representation) e.g. "deu" for German or "fra" for French.
      Empty string is used for ANY language.

      Returns:
      language value
    • setLanguage

      public void setLanguage(String language)
      Set the context language.

      In cases where the calling source code uses language codes different from ISO-639-2-Alpha3/B you have to transform the input argument in advance.

      Example for codes in ISO_639_1_Alpha2:

       new Context().setLanguage(LocaleUtils.getPubServerLanguage(language, LocaleUtils.ISO_639_1_Alpha2));
       

      Example for codes in ISO 639-2/T:

       new Context().setLanguage(LocaleUtils.getPubServerLanguage(language, "ISO-639-2/T"));
       
      This expects that a translation table from ISO-639-2/T to ISO-639-2/B has been loaded (e.g. translating "ger" to "deu").
      Parameters:
      language - a valid ISO_639_3_Alpha3 language code, e.g. "deu" (German), or "ara" (Arabic)
    • getScript

      public String getScript()
      Get script value.

      ISO 15924 four letter code for writing system (four-letter title-case presentation) e.g. "Latn" oder "Cyrl"
      Empty string is used for ANY script.

      Returns:
      script value
    • setScript

      public void setScript(String script)
      Set the context script (writing system). Script hat to be a 4-letter code conforming ISO-15924.

      Examples for codes "Latn" or "Cyrl".

      In cases where the calling source code uses script codes different from ISO-15924 you have to transform the input argument in advance.

      Example for codes in ISO_15924:

       new Context().setScript(LocaleUtils.getPubServerScript(script, LocaleUtils.ISO_15924));
       
      Parameters:
      script - a valid ISO_15924 script code, e.g. "Latn" (Latin), or "Hang" (Hangul - i.e. Korean alphabet)
    • getWellName

      public String getWellName()
      Get name of well, i.e. a string representing a data "pool" in a content system
      Returns:
      well name
    • setWellName

      public void setWellName(String wellName)
      Parameters:
      wellName - see getWellName()
    • getAssortmentName

      public String getAssortmentName()
      Returns:
      assortment of goods to which this context is bound
    • setAssortmentName

      public void setAssortmentName(String assortmentName)
      Parameters:
      assortmentName - see getAssortmentName()
    • getPublication

      public String getPublication()
      Returns:
      publication identifier
    • setPublication

      public void setPublication(String publication)
      Parameters:
      publication - getPublication()
    • getDocumentId

      public String getDocumentId()
      Returns:
      document identifier
    • setDocumentId

      public void setDocumentId(String documentId)
      Parameters:
      documentId - getDocumentId()
    • getCreatedBy

      public String getCreatedBy()
    • setCreatedBy

      public void setCreatedBy(String createdBy)
    • getCreatedOn

      public Date getCreatedOn()
    • setCreatedOn

      public void setCreatedOn(Date createdOn)
    • getUpdatedBy

      public String getUpdatedBy()
    • setUpdatedBy

      public void setUpdatedBy(String updatedBy)
    • getUpdatedOn

      public Date getUpdatedOn()
    • setUpdatedOn

      public void setUpdatedOn(Date updatedOn)
    • getTargetGroup

      public String getTargetGroup()
      Get name of a target group in a content system
      Returns:
      target group
    • setTargetGroup

      public void setTargetGroup(String targetGroup)
      Parameters:
      targetGroup - see getTargetGroup()
    • getMarketName

      public String getMarketName()
      Get name of a market in a content system
      Returns:
      target group
    • setMarketName

      public void setMarketName(String marketName)
      Parameters:
      marketName - see getMarketName()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • fromLanguageTag

      public static Context fromLanguageTag(String languageTag)
      Creates a context from a IETF Language Tag (IETF BCP 47) and sets country, language and script fields accordingly.
      Compare to @link{Locale Locale.forLanguageTag(String)
      Parameters:
      languageTag - IETF Language Tag
      Returns:
      new context object filled with language, country and script
      Throws:
      NullPointerException - - if languageTag is null
    • fromLanguageAndCountry

      public static Context fromLanguageAndCountry(String language, String country)
      Creates a context prefilled with language and country codes.
      Parameters:
      language - a valid ISO_639_3_Alpha3 language code or an empty string
      country - a valid ISO_3166_1_Alpha2 country code or an empty string
      Returns:
      created context object
      Throws:
      NullPointerException - - if language or country are null
      IllegalArgumentException - - if language or country are not listed in pubservers key lists
    • fromLanguageTagAndCountry

      public static Context fromLanguageTagAndCountry(String languageTag, String country)
      Creates a context filled with language and country codes.
      Parameters:
      languageTag - IETF Language Tag
      country - a valid ISO_3166_1_Alpha2 country code or an empty string
      Returns:
      created context object
      Throws:
      NullPointerException - - if languageTag or country are null
      IllegalArgumentException - - if language, region or country are not listed in pubservers key lists
    • copy

      public Context copy()
      Creates a copy (deep clone) of the object and return it.
      Returns:
      copy of object
    • mergeCopy

      public Context mergeCopy(Context mergeContext)
      Creates a copy of the current object and merges fields from mergeContext if they are not empty.
      Parameters:
      mergeContext - other context used if fields are not empty fields
      Returns:
      cloned context with merged fields from other context
    • getEntityIdentifier

      public String getEntityIdentifier()
      Description copied from interface: EntityData
      Identifier of an entity in the entity model where the current object refers to.
      Specified by:
      getEntityIdentifier in interface EntityData
      Returns:
      entity identifier as string
    • getContext

      public Context getContext()
      Specified by:
      getContext in interface EntityData
      Returns:
      entity context
    • setContext

      public void setContext(Context context)
      Description copied from interface: EntityData
      set the context of entity data object
      Specified by:
      setContext in interface EntityData
    • setEntityIdentifier

      public void setEntityIdentifier(String entityIdentifier)
      Description copied from interface: EntityData
      Identifier of an entity in the entity model where the current object refers to.
      Specified by:
      setEntityIdentifier in interface EntityData
    • toLanguageTag

      public String toLanguageTag()
      Returns a well-formed IETF BCP 47 language tag representing the locale of this context.

      Well, assortment, publication are not part of this representation.
      ISO_639_1_Alpha2 is preferred if existing, otherwise three letter language representation is used. For details see Locale.toLanguageTag()
      Returns:
      IETF Language Tag
    • newContext

      public static Context newContext(String language, String country)

      Creates a new Context object from language and country tag.

      Parameters:
      language - language tag
      country - country tag
      Returns:
      new Context object