Class SnippetContext
- java.lang.Object
-
- com.priint.pubserver.comet.bridge.snippet.SnippetContext
-
- All Implemented Interfaces:
java.io.Serializable
public class SnippetContext extends java.lang.Object implements java.io.SerializableHolds context data like language, country, assortment, well, target group, market etc.
SnippetContext contains a list of data used to specify or filter snippets.
- Since:
- 4.0.0
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SnippetContext()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)static booleanequalsLanguageAndCountry(SnippetContext sc, SnippetContext sc2)Compare language and country.static java.util.Optional<SnippetContext>fromJSON(java.lang.String jsonString)Creates a snippetContext from JSON stringstatic SnippetContextfromLanguageAndCountry(java.lang.String language, java.lang.String country)Creates a context prefilled with language and country codes.static SnippetContextfromLanguageTag(java.lang.String languageTag)Creates a context from a IETF Language Tag (IETF BCP 47) and sets country, language and script fields accordingly.static SnippetContextfromLanguageTagAndCountry(java.lang.String languageTag, java.lang.String country)Creates a context filled with language and country codes.java.lang.StringgetAssortmentName()Gets assortment name.java.lang.StringgetCountry()Get country value.java.lang.StringgetDefaultIdentifier()Gets default identifier.java.lang.StringgetLanguage()Get language value.java.lang.StringgetMarketName()Get name of a market in a content systemjava.lang.StringgetScript()Get script value.java.lang.StringgetTargetGroup()Get name of a target group in a content systemjava.lang.StringgetWellName()Get name of well, i.e.inthashCode()static SnippetContextnewContext(java.lang.String language, java.lang.String country)Creates a new Context object from language and country tag.voidsetAssortmentName(java.lang.String assortmentName)Sets assortment name.voidsetCountry(java.lang.String country)Set the context country.voidsetLanguage(java.lang.String language)Set the context language.voidsetMarketName(java.lang.String marketName)Sets market name.voidsetScript(java.lang.String script)Set the context script (writing system).voidsetTargetGroup(java.lang.String targetGroup)Sets target group.voidsetWellName(java.lang.String wellName)Sets well name.static java.lang.StringsnippetContextToJSON(SnippetContext snippetContext)Snippet context to json string.java.lang.StringtoLanguageTag()Returns a well-formed IETF BCP 47 language tag representing the locale of this context.
Well, assortment, publication are not part of this representation.java.lang.StringtoString()
-
-
-
Method Detail
-
getDefaultIdentifier
public java.lang.String getDefaultIdentifier()
Gets default identifier.- Returns:
- default identifier is constructed from context data already set.
-
getCountry
public java.lang.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 country
-
setCountry
public void setCountry(java.lang.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 java.lang.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(java.lang.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 java.lang.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(java.lang.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 java.lang.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(java.lang.String wellName)
Sets well name.- Parameters:
wellName- seegetWellName()
-
getAssortmentName
public java.lang.String getAssortmentName()
Gets assortment name.- Returns:
- assortment of goods to which this context is bound
-
setAssortmentName
public void setAssortmentName(java.lang.String assortmentName)
Sets assortment name.- Parameters:
assortmentName- seegetAssortmentName()
-
getTargetGroup
public java.lang.String getTargetGroup()
Get name of a target group in a content system- Returns:
- target group
-
setTargetGroup
public void setTargetGroup(java.lang.String targetGroup)
Sets target group.- Parameters:
targetGroup- seegetTargetGroup()
-
getMarketName
public java.lang.String getMarketName()
Get name of a market in a content system- Returns:
- target group
-
setMarketName
public void setMarketName(java.lang.String marketName)
Sets market name.- Parameters:
marketName- seegetMarketName()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
fromLanguageTagAndCountry
public static SnippetContext fromLanguageTagAndCountry(java.lang.String languageTag, java.lang.String country)
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:
java.lang.NullPointerException- - if languageTag or country are nulljava.lang.IllegalArgumentException- - if language, region or country are not listed in pubservers key lists
-
fromJSON
public static java.util.Optional<SnippetContext> fromJSON(java.lang.String jsonString)
Creates a snippetContext from JSON string- Parameters:
jsonString- json String stored in the column SnippetContext- Returns:
- optional of created snippet context object, if jsonString is invalid or empty, returns Optional.empty()
-
fromLanguageTag
public static SnippetContext fromLanguageTag(java.lang.String languageTag)
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:
java.lang.NullPointerException- - if languageTag is null
-
fromLanguageAndCountry
public static SnippetContext fromLanguageAndCountry(java.lang.String language, java.lang.String country)
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:
java.lang.NullPointerException- - if language or country are nulljava.lang.IllegalArgumentException- - if language or country are not listed in pubservers key lists
-
toLanguageTag
public java.lang.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 seeLocale.toLanguageTag()- Returns:
- IETF Language Tag
-
newContext
public static SnippetContext newContext(java.lang.String language, java.lang.String country)
Creates a new Context object from language and country tag.
- Parameters:
language- language tagcountry- country tag- Returns:
- new SnippetContext object
-
equalsLanguageAndCountry
public static boolean equalsLanguageAndCountry(SnippetContext sc, SnippetContext sc2)
Compare language and country.
- Parameters:
sc- language tagsc2- country tag- Returns:
- true if language and country from both SnippetContext objects are equal
-
snippetContextToJSON
public static java.lang.String snippetContextToJSON(SnippetContext snippetContext)
Snippet context to json string.- Parameters:
snippetContext- the snippet context- Returns:
- the string
-
-