Class Language

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable
    Direct Known Subclasses:
    MyTestLanguage

    public class Language
    extends GeneratedLanguage
    The platform language item.

    As the basis of localization in the hybris Platform, they are used for example by localized attributes and links.

    Some examples for the use the language items:

    • Each session to the hybris Platform defines in its SessionContext the current session language ( SessionContext.getLanguage()). All localized attributes for example will by default return their value for the session language. Therefore it is very easy to realize multilingual frontends, since you only have to set once the correct session language of get the correct localized values.
    • Localized attributes are internally implemented as MapTypes by mapping languages to their values (language -> localized value). A localized String therefore is realized as a MapType which maps languages to strings.
    See Also:
    Serialized Form
    • Field Detail

      • isoCodeCheck

        protected java.lang.String isoCodeCheck
        internal, dont use
      • localeCache

        protected java.util.Locale localeCache
        internal, dont use
    • Constructor Detail

      • Language

        public Language()
    • Method Detail

      • registerAsJaloObject

        @Deprecated
        public static void registerAsJaloObject()
        Deprecated.
        since ages - this is done automatically during initialization of the hybris Platform implementation
        Method registerAsJaloObject
      • createItem

        protected Item createItem​(SessionContext ctx,
                                  ComposedType type,
                                  Item.ItemAttributeMap allAttributes)
                           throws JaloBusinessException
        Description copied from class: Item
        Has to be implemented for each concrete subtype of item. This method is responsible for creating a new item instance ( by calling managers, ejb homes, etc. ) during ComposedType.newInstance(Map).

        In case this method uses any of the attribute values during creation it is required to override Item.getNonInitialAttributes(SessionContext, ItemAttributeMap) too.
        Sn example:

        
         public static final String MY_ATTRIBUTE = "someAttribute"; ... protected Item createItem(SessionContext
         ctx, ComposedType type, Map allAttributes ) throws JaloBusinessException { MyManager man = ... return
         man.createMyItem( (String)allAttributes.get(MY_ATTRIBUTE) );
         // here MY_ATTRIBUTE is used for creation, so it must not be set again } protected Map getNonInitialAttributes(
         SessionContext ctx, Map allAttributes ) { // let superclass remove its own initial attributes Map ret =
         super.getNonInitialAttributes( ctx, allAttributes );
         // remove MY_ATTRIBUTE from all attributes since if has already been set ret.remove(MY_ATTRIBUTE); return ret; }
        
         
        Overrides:
        createItem in class GenericItem
        Parameters:
        ctx - the current session context which this item is created within
        type - the actual item type ( since subtypes may not provide a own jalo class this may be different from the type which this method was implemented for )
        Returns:
        the new item instance
        Throws:
        JaloBusinessException - indicates an error during creation - any changes will be rollbacked
      • getLocale

        public java.util.Locale getLocale()
        Returns the corresponding Locale instance according to the isocode of this Language . Therefore the isocode must match the following pattern:
        • Pattern: LANGUAGE-CODE('.'COUNTRY-CODE('.'VARIANT-CHARS))
        • Example: de.DE, en, es.ES.Traditional_WIN
        Returns:
        the corresponding Locale instance according to the isocode of this Language
        See Also:
        Locale