Class StateMappingBase

java.lang.Object
org.kuali.rice.krad.datadictionary.state.StateMappingBase
All Implemented Interfaces:
StateMapping

public class StateMappingBase extends Object implements StateMapping
Base implementation of StateMapping.
Since:
2.2
Author:
Kuali Rice Team (rice.collab@kuali.org)
See Also:
  • Constructor Details

    • StateMappingBase

      public StateMappingBase()
  • Method Details

    • getStateNameMessage

      public String getStateNameMessage(String state)
      Description copied from interface: StateMapping
      Returns the human readable message determined by the key set for the state passed in against the stateNameMessageKeyMap. If the state cannot be found in the states list or the state passed in is blank, this method will return null. If the key found does not match a message, this method will return the state passed in.
      Specified by:
      getStateNameMessage in interface StateMapping
      Parameters:
      state - state to get the message for
      Returns:
      state message, or the state passed in (if a valid state in states). Otherwise, returns null.
      See Also:
    • getCurrentState

      public String getCurrentState(Object object)
      Description copied from interface: StateMapping
      Gets the currentState by looking at the statePropertyName on the stateObject passed in
      Specified by:
      getCurrentState in interface StateMapping
      Parameters:
      object - the object containing the state information
      Returns:
      the currentState of the object
      See Also:
    • getNextState

      public String getNextState(Object object)
      Description copied from interface: StateMapping
      Gets the nextState of the object passed in by looking at the statePropertyName and using the states list to determine the next state in order. Returns the currentState if there is no next state.
      Specified by:
      getNextState in interface StateMapping
      Parameters:
      object - the object containing the state information
      Returns:
      the next state of the object, or current state if no next state exists
      See Also:
    • getStateNameMessageKeyMap

      public Map<String,String> getStateNameMessageKeyMap()
      Description copied from interface: StateMapping
      Map used by getStateNameMessage to determine the key to use when retrieving the message for the state specified. The map should be defined as state:messageKeyForState.
      Specified by:
      getStateNameMessageKeyMap in interface StateMapping
      Returns:
      map of states and their messageKeys
      See Also:
    • setStateNameMessageKeyMap

      public void setStateNameMessageKeyMap(Map<String,String> stateNameMessageKeyMap)
      Description copied from interface: StateMapping
      Set the stateNameMessageKeyMap
      Specified by:
      setStateNameMessageKeyMap in interface StateMapping
      Parameters:
      stateNameMessageKeyMap - map of states and their messageKeys
      See Also:
    • getStates

      public List<String> getStates()
      Description copied from interface: StateMapping
      The states of this stateMapping. IMPORTANT: This must be ALL states for this mapping IN ORDER.
      Specified by:
      getStates in interface StateMapping
      Returns:
      list of states, in the order in which they are applied. If states were never set, returns an empty list.
      See Also:
    • setStates

      public void setStates(List<String> states)
      Description copied from interface: StateMapping
      Set the states of this stateMapping, in order
      Specified by:
      setStates in interface StateMapping
      Parameters:
      states - list of states, in the order in which they are applied.
      See Also:
    • getStatePropertyName

      public String getStatePropertyName()
      Description copied from interface: StateMapping
      The property name/path to be used when trying to find state String information on the object. This is used by getCurrentState(Object object) and getNextState(Object object);
      Specified by:
      getStatePropertyName in interface StateMapping
      Returns:
      the property name/path representing where state information can be found on the object
      See Also:
    • setStatePropertyName

      public void setStatePropertyName(String statePropertyName)
      Description copied from interface: StateMapping
      Set the property name/path
      Specified by:
      setStatePropertyName in interface StateMapping
      Parameters:
      statePropertyName - the property name/path that points to the string representation of the object's tate
      See Also:
    • getCustomClientSideValidationStates

      public Map<String,String> getCustomClientSideValidationStates()
      Description copied from interface: StateMapping
      This ONLY applies to client side validations as the controller has full control over what validations to apply on the server. This setting determines for what states, if any, the client side validation needs to use for its validation instead of the default (by default if state validation is setup, the client side validation will use n+1 as its validation, ie whatever the NEXT state is).

      The map must be defined as such: (state of the object, state to use for validation on the client when in that state).
      Example:
      key="INITIAL" value="SUBMIT"
      key="SAVE" value="SUBMIT"
      In this example, when the object is in the "INITIAL" or the "SAVE" states, validation on the client will be against the "SUBMIT" state

      Specified by:
      getCustomClientSideValidationStates in interface StateMapping
      Returns:
      map representing the state of the object and state to use for validation on the client when in that state
      See Also:
    • setCustomClientSideValidationStates

      public void setCustomClientSideValidationStates(Map<String,String> customClientSideValidationStates)
      Description copied from interface: StateMapping
      Set the custom client side validation behavior map. This only applies for client-side validation.
      Specified by:
      setCustomClientSideValidationStates in interface StateMapping
      Parameters:
      customClientSideValidationStates - map representing the state of the object and state to use for validation on the client when in that state
      See Also:
    • completeValidation

      public void completeValidation(ValidationTrace tracer)
      Description copied from interface: StateMapping
      Validates different requirements of component compiling a series of reports detailing information on errors found in the component. Used by the RiceDictionaryValidator.
      Specified by:
      completeValidation in interface StateMapping
      Parameters:
      tracer - Record of component's location
      See Also: