public interface ModelConverter
ModelConverter is responsible for creating and filling a model from an underlying persistence system like
the hybris layer, a database, web service.| Modifier and Type | Method and Description |
|---|---|
void |
afterDetach(Object model,
ModelContext ctx)
This method is executed after the given
model is attached from the given
ModelContext |
void |
beforeAttach(Object model,
ModelContext ctx)
This method is executed before the given
model is attached to the given
ModelContext |
Object |
create(String type)
Creates a new empty model instance.
|
boolean |
exists(Object model)
Returns
true if for the given model a source Item exists and if this item Item#isAlive() |
Object |
getAttributeValue(Object model,
String attributeQualifier)
Generic attribute value getter to read attribute data from arbitrary model instances.
|
Map<String,Set<Locale>> |
getDirtyAttributes(Object model)
Returns a map with all modified attribute qualifiers for the given model.
|
Object |
getLocalizedAttributeValue(Object model,
String attributeQualifier,
Locale locale)
Generic attribute value getter to read attribute data from arbitrary model instances.
|
PersistenceObject |
getPersistenceSource(Object model) |
Object |
getSource(Object model)
Deprecated.
|
String |
getType(Object model)
Returns the exact type of the given model.
|
Set<String> |
getWritablePartOfAttributes(TypeService typeService)
Returns a collection of writable partof atrributes
|
void |
init(ConverterRegistry registry)
Called once before using the converter the first time.
|
boolean |
isModified(Object model)
Returns
true if the given model is new or the ModelValueHistory of the model contains changed
attributes. |
boolean |
isModified(Object model,
String attribute)
Returns
true if the given model is new or the ModelValueHistory for the given attribute
(qualifier) was changed. |
boolean |
isModified(Object model,
String attribute,
Locale loc)
Returns
true if the given model is new or the ModelValueHistory for the given attribute
(qualifier) was changed. |
boolean |
isNew(Object model)
Returns
true if the given model was not persisted yet. |
boolean |
isRemoved(Object model)
Returns
true if for the given model no source Item exists or this item is not Item#isAlive() |
boolean |
isUpToDate(Object model)
The given model is not up-to-date (returns
false) when:
the model is new (see isNew(Object)) or
the model was removed (see isRemoved(Object)) or
the model was locally modified or
the Item in the database is newer as the source item of the model
|
Object |
load(Object source)
Creates a new model instance and fills its attributes with data from given source object
|
void |
reload(Object model)
Fills the attributes of passed model new using mapped source object.
|
void |
remove(Object model)
Tries to remove the source of the given model.
|
void |
save(Object model,
Collection<String> exclude)
Saves all attribute values from the model to the wrapped source object or creates a new one if no source is mapped
yet.
|
void |
setAttributeValue(Object model,
String attributeQualifier,
Object value)
Generic attribute value setter to modify attribute data on arbitrary model instances.
|
void init(ConverterRegistry registry)
registry - the registry holding this converter.Object load(Object source)
source - object which will be used for filling new modelvoid reload(Object model)
model - model which will be filled from scratch using mapped sourcevoid remove(Object model)
model - the model for which to remove the sourcevoid save(Object model, Collection<String> exclude)
model - the model to save@Deprecated Object getSource(Object model)
model - the model for which to return the sourceboolean isModified(Object model)
true if the given model is new or the ModelValueHistory of the model contains changed
attributes.model - the modelfalse otherwiseboolean isModified(Object model, String attribute)
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.model - the modelattribute - the attribute qualifierfalse if the attribute was not modified.boolean isModified(Object model, String attribute, Locale loc)
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.model - the modelattribute - the attribute qualifierloc - the Locale. Can be null.false otherwise.boolean exists(Object model)
true if for the given model a source Item exists and if this item Item#isAlive()model - the modelfalse if the model was not persisted yet (no underlying item) or the item was removed.boolean isRemoved(Object model)
true if for the given model no source Item exists or this item is not Item#isAlive()model - the modelfalse if the model isNew(Object) or the item is alive.boolean isNew(Object model)
true if the given model was not persisted yet.model - the modelfalse if an AttributeProvider for the given model exists.boolean isUpToDate(Object model)
false) when:
isNew(Object)) orisRemoved(Object)) ormodel - the modeltrue if the model is up-to-dateMap<String,Set<Locale>> getDirtyAttributes(Object model)
null the key is a
non-localized attribute qualifier else the map value contains the locale in which language the localized attribute
was modified.model - the new (not saved) modelObject getAttributeValue(Object model, String attributeQualifier)
model - the model instanceattributeQualifier - the attribute qualifierObject getLocalizedAttributeValue(Object model, String attributeQualifier, Locale locale)
model - the model instanceattributeQualifier - the attribute qualifierlocale - Locale for which value will be returnedvoid setAttributeValue(Object model, String attributeQualifier, Object value)
model - the modelattributeQualifier - the attribute qualifiervalue - the attribute valuevoid beforeAttach(Object model, ModelContext ctx)
model is attached to the given
ModelContextvoid afterDetach(Object model, ModelContext ctx)
model is attached from the given
ModelContextSet<String> getWritablePartOfAttributes(TypeService typeService)
PersistenceObject getPersistenceSource(Object model)
Copyright © 2017 SAP SE. All Rights Reserved.