Package net.i2p.data

Class DateAndFlags

  • All Implemented Interfaces:
    Serializable, DataStructure
    Direct Known Subclasses:
    SendMessageOptions

    public class DateAndFlags
    extends DataStructureImpl
    A six-byte Date and 2 bytes of flags, since a Date won't encroach on the top two bytes until the year 10889. The flag format is not specified here. The bits may be used in an application-specific manner. The application should be designed so that a flags value of 0 is the default, for compatibility with an 8-byte Date. See extending class net.i2p.client.SendMessageOptions for more info. If we really need some more bits we could use the first few bits of the third byte.
    Since:
    0.8.4
    Author:
    zzz
    See Also:
    Serialized Form
    • Field Detail

      • _flags

        protected int _flags
    • Constructor Detail

      • DateAndFlags

        public DateAndFlags()
      • DateAndFlags

        public DateAndFlags​(long date,
                            int flags)
        Parameters:
        flags - 0 - 65535
      • DateAndFlags

        public DateAndFlags​(Date date,
                            int flags)
        Parameters:
        flags - 0 - 65535
    • Method Detail

      • getFlags

        public int getFlags()
      • setFlags

        public void setFlags​(int flags)
        Parameters:
        flags - 0 - 65535
      • getDate

        public Date getDate()
        The Date object is created here, it is not cached. Use getTime() if you only need the long value.
      • getTime

        public long getTime()
      • setDate

        public void setDate​(long date)
      • setDate

        public void setDate​(Date date)
      • readBytes

        public void readBytes​(InputStream in)
                       throws DataFormatException,
                              IOException
        Description copied from interface: DataStructure
        Load up the current object with data from the given stream. Data loaded this way must match the I2P data structure specification. Warning - many classes will throw IllegalStateException if data is already set.
        Parameters:
        in - stream to read from
        Throws:
        DataFormatException - if the data is improperly formatted
        IOException - if there was a problem reading the stream
      • writeBytes

        public void writeBytes​(OutputStream out)
                        throws DataFormatException,
                               IOException
        Description copied from interface: DataStructure
        Write out the data structure to the stream, using the format defined in the I2P data structure specification.
        Parameters:
        out - stream to write to
        Throws:
        DataFormatException - if the data was incomplete or not yet ready to be written
        IOException - if there was a problem writing to the stream
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object