Class EnumValueModelConverter

java.lang.Object
de.hybris.platform.servicelayer.internal.converter.impl.EnumValueModelConverter
All Implemented Interfaces:
ModelConverter

public class EnumValueModelConverter extends Object implements ModelConverter
Special model converter for hybris enum values.
  • Constructor Details

    • EnumValueModelConverter

      public EnumValueModelConverter(Class enumClass, SourceTransformer sourceTransformer)
  • Method Details

    • getEnumClass

      public Class getEnumClass()
    • getValueOfMethod

      protected Method getValueOfMethod()
    • exists

      protected boolean exists(HybrisEnumValue enumValue)
    • isJavaEnum

      public boolean isJavaEnum()
    • create

      public Object create(String type)
      Description copied from interface: ModelConverter
      Creates a new empty model instance.
      Specified by:
      create in interface ModelConverter
      Returns:
      new empty model
    • getType

      public String getType(Object model)
      Description copied from interface: ModelConverter
      Returns the exact type of the given model.
      Specified by:
      getType in interface ModelConverter
    • getPersistenceSource

      public PersistenceObject getPersistenceSource(Object model)
      Specified by:
      getPersistenceSource in interface ModelConverter
    • getSource

      public Object getSource(Object model)
      Description copied from interface: ModelConverter
      Returns underlying source for given model.
      Specified by:
      getSource in interface ModelConverter
      Parameters:
      model - the model for which to return the source
      Returns:
      the underlying source of the given model, or null if the source doesn't (yet) exist
    • init

      public void init(ConverterRegistry registry)
      Description copied from interface: ModelConverter
      Called once before using the converter the first time.
      Specified by:
      init in interface ModelConverter
      Parameters:
      registry - the registry holding this converter.
    • load

      public Object load(Object source)
      Description copied from interface: ModelConverter
      Creates a new model instance and fills its attributes with data from given source object
      Specified by:
      load in interface ModelConverter
      Parameters:
      source - object which will be used for filling new model
      Returns:
      new model instance with data of given source
    • reload

      public void reload(Object model)
      Description copied from interface: ModelConverter
      Fills the attributes of passed model new using mapped source object.
      Specified by:
      reload in interface ModelConverter
      Parameters:
      model - model which will be filled from scratch using mapped source
    • remove

      public void remove(Object model)
      Description copied from interface: ModelConverter
      Tries to remove the source of the given model.
      Specified by:
      remove in interface ModelConverter
      Parameters:
      model - the model for which to remove the source
    • save

      public void save(Object model, Collection<String> excluded)
      Description copied from interface: ModelConverter
      Saves all attribute values from the model to the wrapped source object or creates a new one if no source is mapped yet.
      Specified by:
      save in interface ModelConverter
      Parameters:
      model - the model to save
    • isModified

      public boolean isModified(Object model)
      Description copied from interface: ModelConverter
      Returns true if the given model is new or the ModelValueHistory of the model contains changed attributes.
      Specified by:
      isModified in interface ModelConverter
      Parameters:
      model - the model
      Returns:
      false otherwise
    • isModified

      public boolean isModified(Object model, String attribute)
      Description copied from interface: ModelConverter
      Returns true if the given model is new or the ModelValueHistory for the given attribute (qualifier) was changed. If the attribute is localized the current session data Locale (see LocaleProvider#getCurrentDataLocale()) is used.
      Specified by:
      isModified in interface ModelConverter
      Parameters:
      model - the model
      attribute - the attribute qualifier
      Returns:
      false if the attribute was not modified.
    • isModified

      public boolean isModified(Object model, String attribute, Locale loc)
      Description copied from interface: ModelConverter
      Returns true if the given model is new or the ModelValueHistory for the given attribute (qualifier) was changed. For localized attributes the given Locale is used to check for modifications. If the Locale is null then all Locales will be checked for modifications. For non-localized attributes the given Locale will be ignored.
      Specified by:
      isModified in interface ModelConverter
      Parameters:
      model - the model
      attribute - the attribute qualifier
      loc - the Locale. Can be null.
      Returns:
      false otherwise.
    • exists

      public boolean exists(Object model)
      Description copied from interface: ModelConverter
      Returns true if for the given model a source Item exists and if this item Item#isAlive()
      Specified by:
      exists in interface ModelConverter
      Parameters:
      model - the model
      Returns:
      false if the model was not persisted yet (no underlying item) or the item was removed.
    • isRemoved

      public boolean isRemoved(Object model)
      Description copied from interface: ModelConverter
      Returns true if for the given model no source Item exists or this item is not Item#isAlive()
      Specified by:
      isRemoved in interface ModelConverter
      Parameters:
      model - the model
      Returns:
      false if the model ModelConverter.isNew(Object) or the item is alive.
    • isNew

      public boolean isNew(Object model)
      Description copied from interface: ModelConverter
      Returns true if the given model was not persisted yet.
      Specified by:
      isNew in interface ModelConverter
      Parameters:
      model - the model
      Returns:
      false if an AttributeProvider for the given model exists.
    • isUpToDate

      public boolean isUpToDate(Object model)
      Description copied from interface: ModelConverter
      The given model is not up-to-date (returns false) when:
      Specified by:
      isUpToDate in interface ModelConverter
      Parameters:
      model - the model
      Returns:
      true if the model is up-to-date
    • getAttributeValue

      public Object getAttributeValue(Object model, String attributeQualifier)
      Description copied from interface: ModelConverter
      Generic attribute value getter to read attribute data from arbitrary model instances.
      Specified by:
      getAttributeValue in interface ModelConverter
      Parameters:
      model - the model instance
      attributeQualifier - the attribute qualifier
      Returns:
      the attribute value
    • getLocalizedAttributeValue

      public Object getLocalizedAttributeValue(Object model, String attributeQualifier, Locale locale)
      Description copied from interface: ModelConverter
      Generic attribute value getter to read attribute data from arbitrary model instances.
      Specified by:
      getLocalizedAttributeValue in interface ModelConverter
      Parameters:
      model - the model instance
      attributeQualifier - the attribute qualifier
      locale - Locale for which value will be returned
      Returns:
      the attribute value
    • setAttributeValue

      public void setAttributeValue(Object model, String attributeQualifier, Object value)
      Description copied from interface: ModelConverter
      Generic attribute value setter to modify attribute data on arbitrary model instances.
      Specified by:
      setAttributeValue in interface ModelConverter
      Parameters:
      model - the model
      attributeQualifier - the attribute qualifier
      value - the attribute value
    • beforeAttach

      public void beforeAttach(Object model, ModelContext ctx)
      Description copied from interface: ModelConverter
      This method is executed before the given model is attached to the given ModelContext
      Specified by:
      beforeAttach in interface ModelConverter
    • afterDetach

      public void afterDetach(Object model, ModelContext ctx)
      Description copied from interface: ModelConverter
      This method is executed after the given model is attached from the given ModelContext
      Specified by:
      afterDetach in interface ModelConverter
    • getWritablePartOfAttributes

      public Set<String> getWritablePartOfAttributes(TypeService typeService)
      Description copied from interface: ModelConverter
      Returns a collection of writable partof atrributes
      Specified by:
      getWritablePartOfAttributes in interface ModelConverter
    • getPartOfAttributes

      public Set<String> getPartOfAttributes(TypeService typeService)
      Description copied from interface: ModelConverter
      Returns a collection of all partof atrributes
      Specified by:
      getPartOfAttributes in interface ModelConverter
    • getDirtyAttributes

      public Map<String,Set<Locale>> getDirtyAttributes(Object model)
      Description copied from interface: ModelConverter
      Returns a map with all modified attribute qualifiers for the given model. The keys are all localized and non-localized attribute qualifier which were modified. If the map value is null the key is a non-localized attribute qualifier else the map value contains the locale in which language the localized attribute was modified.
      Specified by:
      getDirtyAttributes in interface ModelConverter
      Parameters:
      model - the new (not saved) model
      Returns:
      a map with all modified attribute qualifier.
    • equals

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

      public int hashCode()
      Overrides:
      hashCode in class Object