public class PromotionBillingTimeRestriction extends GeneratedPromotionBillingTimeRestriction
AbstractPromotionRestriction.RestrictionResultGenericItem.GenericItemImplLocalizableItem.LocalizableItemImplExtensibleItem.ExtensibleItemImplItem.AttributeFilter, Item.AttributeMode, Item.CachedGetter, Item.CachedSetter, Item.ItemAttributeMap, Item.ItemConstraint, Item.ItemImpl, Item.JaloCachedComputationExceptionBILLINGTIMES, DEFAULT_INITIAL_ATTRIBUTES, POSITIVEDESCRIPTIONPATTERN, PROMOTION, RENDEREDDESCRIPTION, RESTRICTIONTYPELANGUAGE_FALLBACK_ENABLED_CREATION_TIME_INTERNAL, _MODIFIED_TIME_INTERNAL, accessorLog, CREATION_TIME, DISABLE_ATTRIBUTE_CHECK, DISABLE_ITEMCHECK_BEFORE_REMOVABLE, EVEN, FEATURE_ACCESSMAP_QUALIFIER, INITIAL_CREATION_FLAG, isJaloOnly, MODIFIED_TIME, NEGATIVE, NOT_FOUND, OWNER, PK, SAVE_FROM_SERVICE_LAYER, staticTransientObjects, TYPEimpl, tenant| Constructor and Description |
|---|
PromotionBillingTimeRestriction() |
| Modifier and Type | Method and Description |
|---|---|
protected Item |
createItem(SessionContext ctx,
ComposedType type,
Item.ItemAttributeMap allAttributes)
Has to be implemented for each concrete subtype of item.
|
AbstractPromotionRestriction.RestrictionResult |
evaluate(SessionContext ctx,
java.util.Collection<Product> products,
java.util.Date date,
AbstractOrder abstractOrder)
Evaluate this restriction.
|
java.lang.String |
getBillingTimeNames(SessionContext ctx)
Concatenate the names of the restricted billing times
|
protected java.lang.Object[] |
getDescriptionPatternArguments(SessionContext ctx) |
protected boolean |
isInBillingTimeCollection(SessionContext ctx,
BillingTime orderbillingTime) |
getBillingTimes, getBillingTimes, getDefaultAttributeModes, isPositive, isPositive, isPositiveAsPrimitive, isPositiveAsPrimitive, setBillingTimes, setBillingTimes, setPositive, setPositive, setPositive, setPositivebuildDataUniqueKey, deepClone, deepCloneAttributes, evaluate, getAllRestrictionType, getRenderedDescription, getRestrictionType, toStringgetAllDescriptionPattern, getAllDescriptionPattern, getAllRestrictionType, getDescriptionPattern, getDescriptionPattern, getPromotion, getPromotion, getRenderedDescription, getRestrictionType, setAllDescriptionPattern, setAllDescriptionPattern, setDescriptionPattern, setDescriptionPattern, setPromotion, setPromotiongetInitialProperties, getNonInitialAttributesgetAllLocalizedProperties, getAllLocalizedProperties, getAllLocalizedProperties, getAllLocalizedProperties, getAllValuesSessionContext, getLocalizedProperty, getLocalizedProperty, getLocalizedPropertyInternal, getLocalizedPropertyNames, getLocalizedPropertyNames, hasLanguage, isEmptyValue, isFallbackEnabled, removeLocalizedProperty, removeLocalizedProperty, setAllLocalizedProperties, setAllLocalizedProperties, setLocalizedProperty, setLocalizedPropertycreateNonClassAccessor, getAllProperties, getAllProperties, getImplementation, getProperty, getProperty, getPropertyNames, getPropertyNames, removeProperty, removeProperty, setAllProperties, setAllProperties, setProperty, setPropertyaddLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addNegativePermission, addPermission, addPositivePermission, assureExtensionsLoaded, changeTypeAfterCreation, checkConstraint, checkItemPermission, checkMandatoryAttribute, checkMandatoryAttribute, checkPermission, checkPermission, checkRemovable, clearPermission, compareTo, ctx, doAfterRemove, doBeforeRemove, equals, getAccessorFor, getAllAttributes, getAllAttributes, getAllAttributes, getAllAttributes, getAllAttributesInternal, getAllLinkedItems, getAndCheckCacheBoundItem, getAttribute, getAttribute, getCacheBoundItem, getComposedType, getComposedTypePK, getCreationTime, getCurrentlyRemovingCount, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItemsCount, getLinkedItemsCount, getLinkedItemsCount, getModificationTime, getNegativePermissions, getOwner, getPermissionMap, getPermissions, getPersistenceVersion, getPK, getPositivePermissions, getRestrictedPrincipals, getSession, getSyncObject, getTenant, getTransientObject, getTransientObjectMap, hashCode, hasRegisteredClassAccessorFor, internal_registerClassAccessorFor, internal_registerNonClassAccessorFor, invalidateLocalCaches, isAlive, isCacheBound, isCurrentlyRemoving, isCurrentlyRemoving, isEmptyRelationValue, isInCreate, isInstanceOf, isItemCheckBeforeRemoveableDisabled, isMarkModifiedDisabled, isRelationLocalizationFallbackEnabled, newInstance, notifyExtensionsAfterItemCreation, notifyExtensionsBeforeItemCreation, notifyItemRemoval, notifyManagerAboutItemRemoval, readResolve, registerAccessFor, registerAccessFor, registerJaloInvalidationListeners, remove, remove, removeItemCollection, removeItemCollection, removeLinkedItems, removeLinkedItems, removeLinkedItems, removeLinkedItems, removeLinks, removePartOfItems, removePartOfItems, setAllAttributes, setAllAttributes, setAllAttributesInternal, setAllLinkedItems, setAllLinkedItems, setAllLinkedItems, setAllLinkedItems, setAttribute, setAttribute, setAttributeFromString, setAttributeFromString, setCacheBound, setComposedType, setCreationTime, setImplementation, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setModificationTime, setNonInitialAttributes, setOwner, setPermissionsByMap, setTransientObject, setUseTA, useTA, writeReplacesetTenantprotected Item createItem(SessionContext ctx, ComposedType type, Item.ItemAttributeMap allAttributes) throws JaloBusinessException
ItemComposedType.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; }
createItem in class GenericItemctx - the current session context which this item is created withintype - 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 )JaloBusinessException - indicates an error during creation - any changes will be rollbackedpublic AbstractPromotionRestriction.RestrictionResult evaluate(SessionContext ctx, java.util.Collection<Product> products, java.util.Date date, AbstractOrder abstractOrder)
AbstractPromotionRestrictionAbstractPromotionRestriction.RestrictionResult.ADJUSTED_PRODUCTS.evaluate in class AbstractPromotionRestrictionctx - The hybris contextproducts - The collection of Product instancesdate - The date to use in any evaluationsabstractOrder - The order (optional)AbstractPromotionRestriction.RestrictionResult indicating the result of the evaluationprotected boolean isInBillingTimeCollection(SessionContext ctx, BillingTime orderbillingTime)
protected java.lang.Object[] getDescriptionPatternArguments(SessionContext ctx)
getDescriptionPatternArguments in class AbstractPromotionRestrictionpublic java.lang.String getBillingTimeNames(SessionContext ctx)
ctx - SessionContextCopyright © 2018 SAP SE. All Rights Reserved.