Package com.oss.asn1

Class ISO8601DateTime

All Implemented Interfaces:
com.oss.asn1.Comparable, ISO8601TimeInterface, Serializable, Cloneable

public class ISO8601DateTime extends AbstractISO8601Time
The ISO8601DateTime class represents the ASN.1 DATE-TIME type
Since:
ASN.1/Java 6.0
See Also:
  • Constructor Details

    • ISO8601DateTime

      public ISO8601DateTime()
      The default constructor.
    • ISO8601DateTime

      public ISO8601DateTime(String value) throws BadTimeFormatException
      Constructs time of day value from a string. String should be in the "YYYY-MM-DDTHH:MM:SS" format, where YYYY is a four-digit year, MM is a two-digit month, DD is a two-digit day number, HH is a two-digit hour, MM is a two-digit minute and SS is a two-digit second.
      Parameters:
      value - a string containing time of day value.
      Throws:
      BadTimeFormatException - if value has invalid format.
    • ISO8601DateTime

      public ISO8601DateTime(int year, int month, int day, int hour, int minute, int second)
      Constructs time of day value hour, minute and second components.
      Parameters:
      year - year value
      month - month value
      day - day value
      hour - hour value
      minute - minute value
      second - second value
  • Method Details

    • clone

      public ISO8601DateTime clone()
      Clone 'this' object.
      Returns:
      deep copy of 'this' object.
    • setValue

      public void setValue(String value) throws BadTimeFormatException
      Set an instance of this class from a String containing value notation of the DATE-TIME.
      Specified by:
      setValue in class AbstractISO8601Time
      Parameters:
      value - a string containing time value.
      Throws:
      BadTimeFormatException - if value has invalid format
    • getYear

      public final int getYear()
      Get the year component of 'this' object.
      Returns:
      int value indicating the year.
    • getMonth

      public final int getMonth()
      Get the month component of 'this' object.
      Returns:
      int value indicating the month.
    • getDay

      public final int getDay()
      Get the day component of 'this' object.
      Returns:
      int value indicating the day.
    • getHour

      public final int getHour()
      Get the hour component of 'this' object.
      Returns:
      int value indicating the hour.
    • getMinute

      public final int getMinute()
      Get the minutes component of 'this' object.
      Returns:
      int value indicating the minute.
    • getSecond

      public final int getSecond()
      Get the seconds component of 'this' object.
      Returns:
      int value indicating the second.
    • setYear

      public final void setYear(int year)
      Set the year component of 'this' object.
      Parameters:
      year - the year to set.
    • setMonth

      public final void setMonth(int month)
      Set the month component of 'this' object.
      Parameters:
      month - the month to set.
    • setDay

      public final void setDay(int day)
      Set the day component of 'this' object.
      Parameters:
      day - the day to set.
    • setHour

      public final void setHour(int hour)
      Set the hour component of 'this' object.
      Parameters:
      hour - the hour to set.
    • setMinute

      public final void setMinute(int minute)
      Set the minutes component of 'this' object.
      Parameters:
      minute - the minute to set.
    • setSecond

      public final void setSecond(int second)
      Set the seconds component of 'this' object.
      Parameters:
      second - the second to set.
    • get

      public int get(int field)
      Get field value.
      Parameters:
      field - field designator.
      Returns:
      field value.
    • set

      public void set(int field, int value)
      Set field value.
      Parameters:
      field - field designator.
      value - field value.
    • clear

      public void clear()
      Clears all the fields so they are set to UNDEFINED value.
    • equalTo

      public final boolean equalTo(ISO8601DateTime that)
      Compare 'this' object to another ISO8601DateTime object to see if their contents are the same.
      Parameters:
      that - the ISO8601DateTime object to compare 'this' object to.
      Returns:
      true if contents of both objects are the same.
    • toFormattedString

      public final String toFormattedString(boolean isBer) throws com.oss.util.BadTimeValueException
      Converts this instance of ISO8601TimeInterface to the formatted string, suitable for the encoding. The string returned has the following format:
              YYYYMMDDHHMMSS
          or
              YYYY-MM-DDTHH:MM:SS
          
      where YYYY is a four-digit year, and MM, DD, HH, MM and SS mean month, day, hour, minute and second correspondingly. First form used to represent BER format. Second form means that the time is a value notation.
      Specified by:
      toFormattedString in class AbstractISO8601Time
      Parameters:
      isBer - set to true if the time value is to be BER format
      Returns:
      string that contain the value, formatted accordingly to the ISO8601DateTime format
      Throws:
      com.oss.util.BadTimeValueException - if the the value contains invalid components that make the formatting impossible
    • parseTime

      public ISO8601TimeInterface parseTime(String str, boolean isBer) throws BadTimeFormatException
      Takes formatted string that contains the value of ISO8601DateTime, splits the string to the components and initializes this instance of the ISO8601DateTime class. If the string has invalid format, a BadTimeFormatException exception is thrown. The method expects that the string has the format, specified in the description of the toFormattedString method.
      Specified by:
      parseTime in class AbstractISO8601Time
      Parameters:
      str - formatted string that contains the value of ISO8601DateTime
      isBer - set to true if the time value is to be BER format
      Returns:
      reference to this object
      Throws:
      BadTimeFormatException - if str has invalid format
    • hashCode

      public int hashCode()
      Returns a hash code for this object
      Overrides:
      hashCode in class AbstractData
      Returns:
      a hash code for this object
    • getTypeName

      public String getTypeName()
      Returns the name of ASN.1 type this java class represents.
      Overrides:
      getTypeName in class AbstractData
      Returns:
      the name of the ASN.1 type.