Class FunctionExtractor

  • All Implemented Interfaces:
    IValueExtractor

    public class FunctionExtractor
    extends java.lang.Object
    implements IValueExtractor
    A function extractor has the purpose to call a function and return the result value.
    • Constructor Detail

      • FunctionExtractor

        public FunctionExtractor​(IFunction function,
                                 IValueExtractor[] extractors)
        Create a new evaluator.
    • Method Detail

      • getValue

        public java.lang.Object getValue​(Tuple left,
                                         java.lang.Object right,
                                         java.lang.Object prefix,
                                         IOAVState state)
        Get the value of an attribute from an object or tuple.
        Specified by:
        getValue in interface IValueExtractor
        Parameters:
        left - The left input tuple.
        right - The right input object.
        prefix - The prefix input object (last value from previous extractor in a chain).
        state - The working memory.
      • isAffected

        public boolean isAffected​(int tupleindex,
                                  OAVAttributeType attr)
        Test if a constraint evaluator is affected from a change of a certain attribute.
        Specified by:
        isAffected in interface IValueExtractor
        Parameters:
        tupleindex - The tuple index.
        attr - The attribute.
        Returns:
        True, if affected.
      • getIndirectAttributes

        public AttributeSet getIndirectAttributes()
        Get the set of indirect attribute types. I.e. attributes of objects, which are not part of an object conditions (e.g. for chained extractors)
        Specified by:
        getIndirectAttributes in interface IValueExtractor
        Returns:
        The relevant attribute types.
      • toString

        public java.lang.String toString()
        Get the string representation.
        Overrides:
        toString in class java.lang.Object
        Returns:
        The string representation.
      • getValueExtractors

        public IValueExtractor[] getValueExtractors()
        Get the value extractors.
      • getFunction

        public IFunction getFunction()
        Get the function.
      • hashCode

        public int hashCode()
        The hash code.
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Test for equality.
        Overrides:
        equals in class java.lang.Object