Class DefaultPersistenceContext
- java.lang.Object
-
- de.hybris.platform.inboundservices.persistence.impl.DefaultPersistenceContext
-
- All Implemented Interfaces:
PersistenceContext
public class DefaultPersistenceContext extends java.lang.Object implements PersistenceContext
Context which contains details about the item(s) for persistence.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDefaultPersistenceContext.DefaultPersistenceContextBuilder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.LocalegetAcceptLocale()Indicates locale, in which data must be returned in the response to the persistence request.java.util.LocalegetContentLocale()Indicates the language, in which localized attributes content is provided.java.util.Optional<ItemModel>getContextItem()Determines whether the payload item that can be retrieved byPersistenceContext.getIntegrationItem()method has been persisted already in the course of the root persistent context processing and retrieves the persisted item from the context.IntegrationItemgetIntegrationItem()Retrieves item data to be persisted.PersistenceContextgetReferencedContext(TypeAttributeDescriptor attribute)Retrieves the persistence context for an item referenced by the specified attributejava.util.Collection<PersistenceContext>getReferencedContexts(TypeAttributeDescriptor attribute)Retrieves the persistence contexts for the items referenced by the specified attributePersistenceContextgetRootContext()Retrieves the top most persistence contextjava.util.Optional<PersistenceContext>getSourceContext()Retrieves the persistence context that the referenced context was gotten frombooleanisItemCanBeCreated()Determines whether a new item model can be created for the context payload.booleanisReplaceAttributes()Indicates the persistence is to replace the item attributes with what's provided in theIntegrationItem.static DefaultPersistenceContext.DefaultPersistenceContextBuilderpersistenceContextBuilder()Instantiates a new builder for creating instances of aPersistenceContextvoidputItem(ItemModel item)Adds the item model corresponding to the payload, i.e.ItemSearchRequesttoItemSearchRequest()Creates aItemSearchRequestfrom thisPersistenceContext
-
-
-
Method Detail
-
persistenceContextBuilder
public static DefaultPersistenceContext.DefaultPersistenceContextBuilder persistenceContextBuilder()
Instantiates a new builder for creating instances of aPersistenceContext
-
getIntegrationItem
@Nonnull public IntegrationItem getIntegrationItem()
Description copied from interface:PersistenceContextRetrieves item data to be persisted.- Specified by:
getIntegrationItemin interfacePersistenceContext- Returns:
- item data to be persisted into an
ItemModel.
-
getContextItem
public java.util.Optional<ItemModel> getContextItem()
Description copied from interface:PersistenceContextDetermines whether the payload item that can be retrieved byPersistenceContext.getIntegrationItem()method has been persisted already in the course of the root persistent context processing and retrieves the persisted item from the context. This is the case when a nested item refers back to another item present earlier on the payload graph. For example, an Order contains OrderEntries and OrderEntry refers back to its container Order. The already persisted item match should be done by the item type and its key value. Only when those two characteristics match, the context item was already persisted and can be retrieved by this method.- Specified by:
getContextItemin interfacePersistenceContext- Returns:
- an item, if this persistent context represents an already persisted payload item from higher levels of the root
item graph or an empty
Optional, if the item was not persisted yet. - See Also:
PersistenceContext.getIntegrationItem(),PersistenceContext.putItem(ItemModel)
-
putItem
public void putItem(ItemModel item)
Description copied from interface:PersistenceContextAdds the item model corresponding to the payload, i.e.PersistenceContext.getIntegrationItem(), into this context for being persisted. Every single payload item that is converted to anItemModelmust be put into this context explicitly.- Specified by:
putItemin interfacePersistenceContext
-
getReferencedContext
public PersistenceContext getReferencedContext(TypeAttributeDescriptor attribute)
Description copied from interface:PersistenceContextRetrieves the persistence context for an item referenced by the specified attribute- Specified by:
getReferencedContextin interfacePersistenceContext- Parameters:
attribute- specifies referenced item- Returns:
- the context containing information about the referenced item
-
getReferencedContexts
public java.util.Collection<PersistenceContext> getReferencedContexts(TypeAttributeDescriptor attribute)
Description copied from interface:PersistenceContextRetrieves the persistence contexts for the items referenced by the specified attribute- Specified by:
getReferencedContextsin interfacePersistenceContext- Parameters:
attribute- specifies referenced items- Returns:
- the context containing information about the referenced items
-
getSourceContext
public java.util.Optional<PersistenceContext> getSourceContext()
Description copied from interface:PersistenceContextRetrieves the persistence context that the referenced context was gotten from- Specified by:
getSourceContextin interfacePersistenceContext- Returns:
- parent context, from which this context was retrieved. If this context is the root item context, Optional.empty is returned
-
getRootContext
@Nonnull public PersistenceContext getRootContext()
Description copied from interface:PersistenceContextRetrieves the top most persistence context- Specified by:
getRootContextin interfacePersistenceContext- Returns:
- the root context
-
toItemSearchRequest
@Nonnull public ItemSearchRequest toItemSearchRequest()
Description copied from interface:PersistenceContextCreates aItemSearchRequestfrom thisPersistenceContext- Specified by:
toItemSearchRequestin interfacePersistenceContext- Returns:
- a newly constructed ItemSearchRequest
-
isItemCanBeCreated
public boolean isItemCanBeCreated()
Description copied from interface:PersistenceContextDetermines whether a new item model can be created for the context payload.- Specified by:
isItemCanBeCreatedin interfacePersistenceContext- Returns:
true, when new item can be create, if an item matching the context was not found in the persistent storage;false, if the context implies update only and therefore the item should not be created, if it does not exist yet.
-
getAcceptLocale
@Nonnull public java.util.Locale getAcceptLocale()
Description copied from interface:PersistenceContextIndicates locale, in which data must be returned in the response to the persistence request.- Specified by:
getAcceptLocalein interfacePersistenceContext- Returns:
- locale to be used for localized attribute values in the response. The locale should be always explicitly specified in this context, so that clients would not need to duplicate logic for determining a default value to be used for returned data.
-
getContentLocale
@Nonnull public java.util.Locale getContentLocale()
Description copied from interface:PersistenceContextIndicates the language, in which localized attributes content is provided.- Specified by:
getContentLocalein interfacePersistenceContext- Returns:
- content locale that must be always explicitly specified in this context, so that clients would not need to duplicate logic for determining a locale for the localized attributes in the payload.
-
isReplaceAttributes
public boolean isReplaceAttributes()
Description copied from interface:PersistenceContextIndicates the persistence is to replace the item attributes with what's provided in theIntegrationItem. This is primarily applicable to collections. The default behavior is to append to the collection. With this method being true, the item's collection attribute will be replaced instead of appended.- Specified by:
isReplaceAttributesin interfacePersistenceContext- Returns:
- true means to replace attributes, otherwise false.
-
-