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
  • Method Details

    • getEffFormatDetails

      EffFormatDetails getEffFormatDetails(EffState state) throws IllegalArgumentException
      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

      Class<? extends EffForm> getEffForm()
      Provides the EffForm Class for this delegate.
      Returns:
      EffType
      Supported API: true
    • getValidTraceCodes

      Set<TraceCode> 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

      Class getEffClass(Class<? extends EffRecord> effParentInterface)
      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

      default Set<Class> 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

      default Map<String,String> 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

      default Map<String,String> 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

      default boolean isStructurePropagationSupported(WTReference targetReference)
      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