Class EncodedInteger

  • All Implemented Interfaces:
    DataObject, Immutable, Serializable

    public abstract class EncodedInteger
    extends Number
    implements DataObject, Immutable
    An immutable integer that uses an IntegerCodec to encode/decode to a network form. Each subclass of EncodedInteger should include a constructor which takes an int value as it's only parameter.
    See Also:
    Serialized Form
    • Method Detail

      • byteValue

        public final byte byteValue()
        Overrides:
        byteValue in class Number
      • shortValue

        public final short shortValue()
        Overrides:
        shortValue in class Number
      • intValue

        public final int intValue()
        Specified by:
        intValue in class Number
      • longValue

        public final long longValue()
        Specified by:
        longValue in class Number
      • floatValue

        public final float floatValue()
        Specified by:
        floatValue in class Number
      • doubleValue

        public final double doubleValue()
        Specified by:
        doubleValue in class Number
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object
      • clone

        public Object clone()
        Description copied from interface: DataObject
        Perform a deep copy of this object. Read-only state of the object is not copied; the new object will be read-write by default.

        Inherently immutable objects may optionally return the same object without modification from clone(), rather than constructing a new instance.

        Specified by:
        clone in interface DataObject
        Overrides:
        clone in class Object
        Returns:
        a new object that is a deep copy of this object; for immutable objects, the same object may optionally be returned.
      • setReadOnly

        public void setReadOnly()
        Description copied from interface: DataObject
        Set this object to be "read-only". Any subsequent attempt to modify this object will throw IllegalStateException. Once an object has been made read-only, it cannot be later set to read-write - this is a "one-way" operation.

        Note that a read-only object is not necessarily immutable; if reference types are returned from accessors, then callers could theoretically mutate those objects even if the top-level object is marked as read-only. The ability to make objects read-only is intended to catch programming errors (e.g. attempting to modify a data object passed as part of a SLEE event), not to provide an absolute guarantee of immutability.

        Calling setReadOnly() on an object that is already read-only is a no-op.

        Some DataObject implementations may be inherently immutable. In those cases, they are considered always read-only.

        Specified by:
        setReadOnly in interface DataObject
      • isReadOnly

        public boolean isReadOnly()
        Description copied from interface: DataObject
        Check if this object has been set read-only.
        Specified by:
        isReadOnly in interface DataObject
        Returns:
        true if the object is read-only or inherently immutable
        See Also:
        DataObject.setReadOnly()