Class FlatTokenInfiniteConcept

  • All Implemented Interfaces:
    java.lang.Cloneable, InequalityTerm, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
    Direct Known Subclasses:
    FlatScalarTokenInfiniteConcept, UnitConcept

    public class FlatTokenInfiniteConcept
    extends InfiniteConcept
    A concept that represents the concept values of entries in a record token. A conceptable model element such as a port or node in a Ptolemy expression could contain a token value that is a record data type. A record token is a token that is a collection of multiple token values of different types. For example, we might want to specify a record that indicates the (x,y) pixel position on a black-and-white screen, and also true or false for whether that pixel position is on or off. We can use a record of the form: {x = 34, y = 26, pixelOn = true}

    This RecordConcept allows any record to be assigned concept values for its individual elements from an arbitrary finite ontology. For example, if we wanted to assign a concept to the token above from the constAbstractInterpretation ontology, it would be: {x = Positive, y = Positive, pixelOn = BooleanTrue} This code is adapted from the MonotonicityConcept implementation.

    Since:
    Ptolemy II 10.0
    Version:
    $Id$
    Author:
    Charles Shelton
    See Also:
    FlatTokenRepresentativeConcept
    Pt.AcceptedRating:
    Red (blickly)
    Pt.ProposedRating:
    Red (blickly)
    • Field Detail

      • _representative

        protected FlatTokenRepresentativeConcept _representative
        The finite concept that represents where the infinite token concepts belong in the ontology lattice.
      • _tokenValue

        protected Token _tokenValue
        The token value for this FlatTokenInfiniteConcept.
    • Method Detail

      • createFlatTokenInfiniteConcept

        public static FlatTokenInfiniteConcept createFlatTokenInfiniteConcept​(Ontology ontology,
                                                                              FlatTokenRepresentativeConcept representative,
                                                                              Token value)
                                                                       throws IllegalActionException
        Create a new flat token infinite concept, belonging to the given ontology, with an automatically generated name.
        Parameters:
        ontology - The ontology to which this concept belongs.
        representative - The finite concept that represents where the infinite token concepts belong in the ontology lattice.
        value - The token value for this FlatTokenInfiniteConcept.
        Returns:
        The newly created RecordConcept.
        Throws:
        IllegalActionException - If the base class throws it.
      • compare

        public int compare​(Concept concept)
                    throws IllegalActionException
        Compare this concept with the given concept. Returns an int value that corresponds to the ordering between the elements as given in the CPO interface.
        Specified by:
        compare in class InfiniteConcept
        Parameters:
        concept - The concept with which we are comparing.
        Returns:
        CPO.HIGHER if this concept is above the given concept, CPO.LOWER if this concept is below the given concept, CPO.SAME if both concepts are the same, and CPO.INCOMPARABLE if concepts are incomparable.
        Throws:
        IllegalActionException - If the specified concept does not have the same ontology as this one.
        See Also:
        Concept.isAboveOrEqualTo(ptolemy.data.ontologies.Concept)
      • equals

        public boolean equals​(java.lang.Object object)
        Return true if the class of the argument is RecordToken, and the argument has the same set of labels as this token and the corresponding fields are equal, as determined by the equals method of the contained tokens.
        Overrides:
        equals in class InfiniteConcept
        Parameters:
        object - An instance of Object.
        Returns:
        True if the argument is equal to this token.
        See Also:
        hashCode()
      • getColor

        public ColorAttribute getColor()
                                throws IllegalActionException
        Return the color attribute associated with this FlatTokenInfiniteConcept. This will be the color to be the color of the FlatTokenRepresentativeConcept representative which is a finite concept with a color given by its model color attribute.
        Overrides:
        getColor in class Concept
        Returns:
        The color attribute of the representative concept.
        Throws:
        IllegalActionException - Thrown if there is an error getting the color from the representative concept.
      • getTokenValue

        public Token getTokenValue()
        Get the token value contained by this concept.
        Returns:
        The token value contained by this concept.
      • greatestLowerBound

        public Concept greatestLowerBound​(Concept concept)
        Compute the greatest lower bound (GLB) of this and another concept.
        Specified by:
        greatestLowerBound in class InfiniteConcept
        Parameters:
        concept - The other concept
        Returns:
        The concept that is the GLB of this and the given concept.
      • leastUpperBound

        public Concept leastUpperBound​(Concept concept)
        Compute the least upper bound (LUB) of this and another concept.
        Specified by:
        leastUpperBound in class InfiniteConcept
        Parameters:
        concept - The other concept
        Returns:
        The concept that is the LUB of this and the given concept.
      • hashCode

        public int hashCode()
        Return the hash code of this record concept, which is uniquely determined by the ontology and the set of record field-concept mappings.
        Specified by:
        hashCode in class InfiniteConcept
        Returns:
        The hash code of this concept.
        See Also:
        Object.hashCode()
      • toString

        public java.lang.String toString()
        Return the string representation of this flat token infinite concept. It concatenates the name of the representative concept with the token value.
        Specified by:
        toString in class Concept
        Returns:
        The string representation of this concept.