Class AbstractPathExpressionStateObject

    • Field Detail

      • IDENTIFICATION_VARIABLE_PROPERTY

        public static final String IDENTIFICATION_VARIABLE_PROPERTY
        Notifies the identification variable property has changed.
        See Also:
        Constant Field Values
      • PATHS_LIST

        public static final String PATHS_LIST
        Notifies the content of the paths list has changed.
        See Also:
        Constant Field Values
    • Method Detail

      • addListChangeListener

        public void addListChangeListener​(String listName,
                                          IListChangeListener<String> listener)
        Registers the given IListChangeListener for the specified list. The listener will be notified only when items are added, removed, moved from the list.
        Specified by:
        addListChangeListener in interface ListHolderStateObject<String>
        Parameters:
        listName - The name of the list for which the listener will be notified when the content of the list has changed
        listener - The listener to be notified upon changes
      • append

        public void append​(String text)
        Appends the given sequence of characters to the path expression. If the sequence does not begin with a dot, then the first segment will be appended to the last segment and then new segments will be created.
        Parameters:
        text - The sequence of characters to append to the path expression
      • canMoveDown

        public boolean canMoveDown​(String item)
        Determines whether the given StateObject can be moved down by one position in the list owned by its parent.
        Specified by:
        canMoveDown in interface ListHolderStateObject<String>
        Parameters:
        item - The StateObject that could potentially be moved down
        Returns:
        true if the object can be moved down by one unit; false otherwise
      • canMoveUp

        public boolean canMoveUp​(String item)
        Determines whether the given StateObject can be moved up by one position in the list owned by its parent.
        Specified by:
        canMoveUp in interface ListHolderStateObject<String>
        Parameters:
        item - The StateObject that could potentially be moved up
        Returns:
        true if the object can be moved up by one unit; false otherwise
      • getIdentificationVariable

        public StateObject getIdentificationVariable()
        Returns the StateObject representing the identification variable that starts the path expression, which can be a sample identification variable, a map value, map key or map entry expression.
        Returns:
        The root of the path expression
      • getManagedType

        public IManagedType getManagedType()
        Returns
        Returns:
      • getMapping

        public IMapping getMapping()
        Returns
        Returns:
      • getMapping

        public IMapping getMapping​(int index)
        Retrieves the IMapping for the path at the given position.
        Parameters:
        index - The index of the path for which its IMapping should be retrieved, which should start at 1 to skip the identification variable
      • getPath

        public String getPath()
        Returns the string representation of the path expression. If the identification variable is virtual, then it is not part of the result.
        Returns:
        The path expression, which is never null
      • getType

        public IType getType()
        Returns the IType of the field handled by this object.
        Returns:
        Either the IType that was resolved by this state object or the IType for IType.UNRESOLVABLE_TYPE if it could not be resolved
      • hasIdentificationVariable

        public boolean hasIdentificationVariable()
        Determines whether the identification variable is present.
        Returns:
        true the identification variable is present; false otherwise
      • removeItem

        public void removeItem​(int index)
        Removes the single path at the given index.
        Parameters:
        index - The position of the single path to remove. If the index is 0, then the identification variable is nullified
      • removeListChangeListener

        public void removeListChangeListener​(String listName,
                                             IListChangeListener<String> listener)
        Unregisters the given IListChangeListener that was registered for the specified list. The listener will no longer be notified only when items are added, removed, moved from the list.
        Specified by:
        removeListChangeListener in interface ListHolderStateObject<String>
        Parameters:
        listName - The name of the list for which the listener was registered
        listener - The listener to unregister
      • setIdentificationVariable

        public void setIdentificationVariable​(StateObject identificationVariable)
        Sets the StateObject representing the identification variable that starts the path expression, which can be a sample identification variable, a map value, map key or map entry expression.
        Parameters:
        identificationVariable - The root of the path expression
      • setPath

        public void setPath​(CharSequence path)
        Changes the path expression with the list of segments, the identification variable will also be updated with the first segment.
        Parameters:
        path - The new path expression
      • setPath

        public void setPath​(int index,
                            String path)
        Replaces the existing path segment to become the given one.
        Parameters:
        index - The position of the path segment to replace
        path - The replacement
      • setPaths

        public void setPaths​(List<String> paths)
        Changes the path expression with the list of segments, the identification variable will also be updated with the first segment.
        Parameters:
        paths - The new path expression
      • setPaths

        public void setPaths​(ListIterator<String> paths)
        Changes the path expression with the list of segments, the identification variable will also be updated with the first segment.
        Parameters:
        paths - The new path expression
      • setPaths

        public void setPaths​(String... paths)
        Changes the path expression with the list of segments, the identification variable will also be updated with the first segment.
        Parameters:
        paths - The new path expression