Package wt.eff.delegate
Interface EffDelegate
public interface EffDelegate
This is contract which every Effectivity type delegate should adhere to.
All valid Effectivity Types should implement this delegate and register its implementation entry in service.properties against service name wt.eff.delegate.EffDelegate. Every type of delegate should register two entries in service.properties having selector as
1. Corresponding string value of its EffType
2. Corresponding string value of its EffForm class simple name
Following functionalities are expected to be consumed:
1. Fetch the valid effectivity format details for respective effectivity type.
2. Fetch EffType
3. Fetch the valid trace codes
4. Fetch if the Effectivity Context can be null
5. Fetch if the Valid Effectivity Context
Supported API: true
Extendable: false
All valid Effectivity Types should implement this delegate and register its implementation entry in service.properties against service name wt.eff.delegate.EffDelegate. Every type of delegate should register two entries in service.properties having selector as
1. Corresponding string value of its EffType
2. Corresponding string value of its EffForm class simple name
Following functionalities are expected to be consumed:
1. Fetch the valid effectivity format details for respective effectivity type.
2. Fetch EffType
3. Fetch the valid trace codes
4. Fetch if the Effectivity Context can be null
5. Fetch if the Valid Effectivity Context
Supported API: true
Extendable: false
-
Method Summary
Modifier and TypeMethodDescriptionReturns a Map of UI attributes and corresponding Model Attribute for Effectivity.getEffClass(Class<? extends EffRecord> effParentInterface) Provide valid concrete class details for respective effectivity useages viz.Provides the EffForm Class for this delegate.getEffFormatDetails(EffState state) Provides effectivity format details for given effectivity state
Supported API: trueProvides the EFfType for this delegate.Returns a Map of Model Attributes and corresponding UI attributes for the Effectivity.Provides valid Effectivity Contexts for this delegate.Provides valid trace codes for this delegate.This method determines whether Effectivity context is nullable/optional for this delegate.default booleanisStructurePropagationSupported(WTReference targetReference) Controls the support for structured propagation for the specified target type.
-
Method Details
-
getEffFormatDetails
Provides effectivity format details for given effectivity state
Supported API: true- Parameters:
state- - effectivity state information- Returns:
- - effectivity format details
- Throws:
IllegalArgumentException
-
getEffType
EffType getEffType()Provides the EFfType for this delegate.- Returns:
- EffType
Supported API: true
-
getEffForm
Provides the EffForm Class for this delegate.- Returns:
- EffType
Supported API: true
-
getValidTraceCodes
Provides valid trace codes for this delegate.- Returns:
- Set
Supported API: true
-
isEffContextNullable
Boolean isEffContextNullable()This method determines whether Effectivity context is nullable/optional for this delegate.- Returns:
- Boolean
Supported API: true
-
getEffClass
Provide valid concrete class details for respective effectivity useages viz. Eff, PendingEff and VarianceEff for effectivity type. It's critical to provide the implementation for this API for all effectivity types that have concrete independent model classes.- Parameters:
effParentInterface- - parent interface- Returns:
- - concrete class information
Supported API: true
-
getValidEffContexts
Provides valid Effectivity Contexts for this delegate. Implementation class are not expected to implement this yet. Hence an default method as OOTB only valid Eff Context is WTPartMaster as of today.- Returns:
- Set
representing valid
Supported API: true
-
getAdditionalAttributeMap
Returns a Map of UI attributes and corresponding Model Attribute for Effectivity. The effectvitiy having additional attributes must provide the implementation for this method. Providing default empty implementation. Supported API: true- Parameters:
efftype-- Returns:
- attribute map
-
getMultiEditableAttributesMap
Returns a Map of Model Attributes and corresponding UI attributes for the Effectivity. To include attribute in multiple editing UI(Set Effectivity Attributes page) provide the implementation for this method. Default implementation is provided for OOTB effectivities and in this default implementation map returned below <key,value> pairs <effTypeModifier, Effectivity Qualifier>, <range, Effectivity Range> and <propagation,Effectivity Propagation> This map is sorted by UI attributes and is locale sensitive. Supported API: true
- Parameters:
efftype-- Returns:
- attribute map
-
isStructurePropagationSupported
Controls the support for structured propagation for the specified target type. OOTB will return true if the target reference is of type WTPart else false.
Supported API: true Extendable : true- Parameters:
targetReference- - reference object to be verified- Returns:
- boolean value
-