Class ObjectToken<O>

    • Constructor Detail

      • ObjectToken

        public ObjectToken​(ObjectValued<O> value)
        Constructs a new token with the object value in the given container.
        Parameters:
        value - a ObjectValued containing the desired value
      • ObjectToken

        public ObjectToken​(ObjectTokenType<O> type,
                           O value)
        Creates an object token
        Parameters:
        type - the static type of the object token
        value - the value of the token
      • ObjectToken

        public ObjectToken​(O value)
        Constructs a new token with the given non-null object. If a null valued token is desired, use NULL(Class).
        Parameters:
        value - the object value of the token
        Throws:
        NullPointerException - if the value is null.
    • Method Detail

      • NULL

        public static <O> ObjectToken<O> NULL​(ObjectTokenType<O> type)
        Gets a null valued ObjectToken of the specified type.
        Type Parameters:
        O - the type of Java object contained in the token
        Parameters:
        type - the TokenType object describing the Java type
        Returns:
        a null valued token
      • ZERO

        public static <O> ObjectToken<O> ZERO​(ObjectTokenType<O> type)
        Gets a zero valued ObjectToken of the specified type.
        Type Parameters:
        O - the type of Java object contained in the token
        Parameters:
        type - the TokenType object describing the Java type
        Returns:
        a null valued token
      • NULL

        public static <O> ObjectToken<O> NULL​(Class<O> type)
        Gets a null valued ObjectToken of the specified type.
        Type Parameters:
        O - the type of Java object contained in the token
        Parameters:
        type - the Class object describing the Java type
        Returns:
        a null valued token
      • equals

        public boolean equals​(Object obj)
        Description copied from interface: DataToken
        Indicates whether another object is equal to this token. Two null valued tokens are considered equal. This differs from the behavior of TokenComparator.equal(TokenValued,TokenValued) but makes it possible to store DataTokens in Maps.
        Specified by:
        equals in interface DataToken
        Overrides:
        equals in class Object
        Parameters:
        obj - the object to compare
        Returns:
        true if the other object is a token of the same type and contains the same value, false otherwise.
      • hashCode

        public int hashCode()
        Description copied from interface: DataToken
        Returns a hash code for the token. This value is guaranteed to be consistent with that returned by TokenConverter.asHashCode(TokenValued).
        Specified by:
        hashCode in interface DataToken
        Overrides:
        hashCode in class Object
        Returns:
        a hash code value for the token
      • asObject

        public final O asObject()
        Description copied from interface: ObjectValued
        Gets the contained Java object.
        Specified by:
        asObject in interface ObjectValued<O>
        Returns:
        the contained value. If null valued, as indicated by TokenValued.isNull(), null is returned.
      • isZero

        public boolean isZero()
        Description copied from interface: ScalarValued
        Indicates whether the value is the zero value for the type. Zero values are not stored in sparse representation formats.
        Specified by:
        isZero in interface ScalarValued
        Returns:
        true if the value is the zero value, false otherwise.
      • isNull

        public final boolean isNull()
        Description copied from interface: TokenValued
        Indicates whether the token is null valued. Tokens support null values analogous to SQL. Before accessing the value of the container, it is usually best to ensure it is not null valued using this method.
        Specified by:
        isNull in interface TokenValued
        Returns:
        true if the token is null valued, false otherwise