Class Context
- All Implemented Interfaces:
GetIdentifier,EntityData,PersistentData,Serializable
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 Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncopy()Creates a copy (deep clone) of the object and return it.booleanstatic ContextfromLanguageAndCountry(String language, String country) Creates a context prefilled with language and country codes.static ContextfromLanguageTag(String languageTag) Creates a context from a IETF Language Tag (IETF BCP 47) and sets country, language and script fields accordingly.static ContextfromLanguageTagAndCountry(String languageTag, String country) Creates a context filled with language and country codes.Get country value.Identifier of an entity in the entity model where the current object refers to.Get identifier for context.Get language value.Get name of a market in a content systemGet script value.Get name of a target group in a content systemGet name of well, i.e.inthashCode()Creates a copy of the current object and merges fields from mergeContext if they are not empty.static ContextnewContext(String language, String country) Creates a new Context object from language and country tag.voidThis method calculate and set identifier value based on default identifier (seegetDefaultIdentifier()).voidsetAssortmentName(String assortmentName) voidsetContext(Context context) set the context of entity data objectvoidsetCountry(String country) Set the context country.voidsetCreatedBy(String createdBy) voidsetCreatedOn(Date createdOn) voidsetDocumentId(String documentId) voidsetEntityIdentifier(String entityIdentifier) Identifier of an entity in the entity model where the current object refers to.voidsetIdentifier(String identifier) Set identifier for this context.voidsetLanguage(String language) Set the context language.voidsetMarketName(String marketName) voidsetPublication(String publication) voidSet the context script (writing system).voidsetTargetGroup(String targetGroup) voidsetUpdatedBy(String updatedBy) voidsetUpdatedOn(Date updatedOn) voidsetWellName(String wellName) Returns a well-formed IETF BCP 47 language tag representing the locale of this context.
Well, assortment, publication are not part of this representation.toString()
-
Field Details
-
deleted
protected int deleted -
import_id
protected int import_id
-
-
Constructor Details
-
Context
public Context()
-
-
Method Details
-
getIdentifier
Get identifier for context. If not already set, default identifier will be returned (seegetDefaultIdentifier()).- Specified by:
getIdentifierin interfaceEntityData- Specified by:
getIdentifierin interfaceGetIdentifier- Specified by:
getIdentifierin interfacePersistentData- Returns:
- string identifier
-
recalculateIdentifier
public void recalculateIdentifier()This method calculate and set identifier value based on default identifier (seegetDefaultIdentifier()). -
getDefaultIdentifier
- Returns:
- default identifier is constructed from context data already set.
-
setIdentifier
Set identifier for this context.Throws NullArgumentException if identifier is
null.- Specified by:
setIdentifierin interfaceEntityData- Parameters:
identifier- data object id as 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
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
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
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
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
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
Get name of well, i.e. a string representing a data "pool" in a content system- Returns:
- well name
-
setWellName
- Parameters:
wellName- seegetWellName()
-
getAssortmentName
- Returns:
- assortment of goods to which this context is bound
-
setAssortmentName
- Parameters:
assortmentName- seegetAssortmentName()
-
getPublication
- Returns:
- publication identifier
-
setPublication
- Parameters:
publication-getPublication()
-
getDocumentId
- Returns:
- document identifier
-
setDocumentId
- Parameters:
documentId-getDocumentId()
-
getCreatedBy
-
setCreatedBy
-
getCreatedOn
-
setCreatedOn
-
getUpdatedBy
-
setUpdatedBy
-
getUpdatedOn
-
setUpdatedOn
-
getTargetGroup
Get name of a target group in a content system- Returns:
- target group
-
setTargetGroup
- Parameters:
targetGroup- seegetTargetGroup()
-
getMarketName
Get name of a market in a content system- Returns:
- target group
-
setMarketName
- Parameters:
marketName- seegetMarketName()
-
toString
-
equals
-
hashCode
public int hashCode() -
fromLanguageTag
Creates a context from a IETF Language Tag (IETF BCP 47) and sets country, language and script fields accordingly.
Compare to @link{LocaleLocale.forLanguageTag(String)- Parameters:
languageTag- IETF Language Tag- Returns:
- new context object filled with language, country and script
- Throws:
NullPointerException- - if languageTag is null
-
fromLanguageAndCountry
Creates a context prefilled with language and country codes.- Parameters:
language- a valid ISO_639_3_Alpha3 language code or an empty stringcountry- a valid ISO_3166_1_Alpha2 country code or an empty string- Returns:
- created context object
- Throws:
NullPointerException- - if language or country are nullIllegalArgumentException- - if language or country are not listed in pubservers key lists
-
fromLanguageTagAndCountry
Creates a context filled with language and country codes.- Parameters:
languageTag- IETF Language Tagcountry- a valid ISO_3166_1_Alpha2 country code or an empty string- Returns:
- created context object
- Throws:
NullPointerException- - if languageTag or country are nullIllegalArgumentException- - if language, region or country are not listed in pubservers key lists
-
copy
Creates a copy (deep clone) of the object and return it.- Returns:
- copy of object
-
mergeCopy
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
Description copied from interface:EntityDataIdentifier of an entity in the entity model where the current object refers to.- Specified by:
getEntityIdentifierin interfaceEntityData- Returns:
- entity identifier as string
-
getContext
- Specified by:
getContextin interfaceEntityData- Returns:
- entity context
-
setContext
Description copied from interface:EntityDataset the context of entity data object- Specified by:
setContextin interfaceEntityData
-
setEntityIdentifier
Description copied from interface:EntityDataIdentifier of an entity in the entity model where the current object refers to.- Specified by:
setEntityIdentifierin interfaceEntityData
-
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 seeLocale.toLanguageTag()- Returns:
- IETF Language Tag
-
newContext
Creates a new Context object from language and country tag.
- Parameters:
language- language tagcountry- country tag- Returns:
- new Context object
-