com.objsys.asn1j.runtime
Class Asn1GeneralizedTime

java.lang.Object
  extended by com.objsys.asn1j.runtime.Asn1Type
      extended by com.objsys.asn1j.runtime.Asn1CharString
          extended by com.objsys.asn1j.runtime.Asn18BitCharString
              extended by com.objsys.asn1j.runtime.Asn1Time
                  extended by com.objsys.asn1j.runtime.Asn1GeneralizedTime
All Implemented Interfaces:
Asn1TypeIF, java.io.Serializable, java.lang.Cloneable, java.lang.Comparable

public class Asn1GeneralizedTime
extends Asn1Time

This is a container class for holding the components of an ASN.1 generalized time string value.

See Also:
Serialized Form

Field Summary
static Asn1Tag TAG
          The TAG constant describes the universal tag for this data type (UNIVERSAL 24).
 
Fields inherited from class com.objsys.asn1j.runtime.Asn1Time
Apr, April, Aug, August, day, Dec, December, derRules, diffHour, diffMin, Feb, February, hour, Jan, January, Jul, July, Jun, June, Mar, March, May, minute, month, Nov, November, Oct, October, parsed, secFraction, second, Sep, September, utcFlag, year
 
Fields inherited from class com.objsys.asn1j.runtime.Asn18BitCharString
BITSPERCHAR_A, BITSPERCHAR_U
 
Fields inherited from class com.objsys.asn1j.runtime.Asn1CharString
mStringBuffer, value
 
Fields inherited from class com.objsys.asn1j.runtime.Asn1Type
BIT_STRING, BMPString, BOOLEAN, DATE, DATE_TIME, DURATION, ENUMERATED, EOC, EXTERNAL, GeneralString, GeneralTime, GraphicString, IA5String, INTEGER, mAsn1TypeName, NULL, NumericString, OBJECT_IDENTIFIER, ObjectDescriptor, OCTET_STRING, OID_IRI, OpenType, PrintableString, REAL, RELATIVE_OID_IRI, RelativeOID, SEQUENCE, SET, T61String, TeletexString, TIME, TIME_OF_DAY, UniversalString, UTCTime, UTF8String, VideotexString, VisibleString
 
Constructor Summary
Asn1GeneralizedTime()
          The default constructor creates an empty time string object.
Asn1GeneralizedTime(boolean useDerRules)
          This constructor creates an empty time string object and allows DER encoding rules to be specified.
Asn1GeneralizedTime(java.lang.String data)
          This version of the constructor can be used to set the string value member variable to the given time string.
Asn1GeneralizedTime(java.lang.String data, boolean useDerRules)
          This version of the constructor can be used to set the string value member variable to the given time string and specify DER encoding rules be used to construct the string.
 
Method Summary
protected  boolean compileString()
          Compiles new time string accoring X.680 (clause 41) and ISO 8601.
 void decode(Asn1BerDecodeBuffer buffer, boolean explicit, int implicitLength)
          This method decodes an ASN.1 string value including the UNIVERSAL tag value and length if explicit tagging is specified.
 int encode(Asn1BerEncodeBuffer buffer, boolean explicit)
          This method encodes an ASN.1 string type.
 void encode(Asn1BerOutputStream out, boolean explicit)
          This method encodes and writes to stream an ASN.1 generalized time string value including the UNIVERSAL tag value and length if explicit tagging is specified.
 boolean equals(java.lang.String s)
          This method compares this object with a String value.
 int getCentury()
          This method returns the century part (first two digits) of the year component of the time value.
 void parseString(java.lang.String string)
          This method parses the given time string value.
 void setCentury(int century)
          This method sets the century part (first two digits) of the year component of the time value.
 
Methods inherited from class com.objsys.asn1j.runtime.Asn1Time
charAt, clear, compareTo, decode, decode, decodeXML, encode, encode, encode, encode, encode, encodeXER, encodeXMLData, equals, getDay, getDiff, getDiffHour, getDiffMinute, getFraction, getHour, getMinute, getMonth, getSecond, getTime, getUTC, getYear, init, parseInt, parseXmlString, putInteger, putInteger, safeParseString, setDay, setDER, setDiff, setDiff, setDiffHour, setFraction, setHour, setMinute, setMonth, setSecond, setTime, setUTC, setYear
 
Methods inherited from class com.objsys.asn1j.runtime.Asn18BitCharString
decode, decode, encode, encode, encode, encode
 
Methods inherited from class com.objsys.asn1j.runtime.Asn1CharString
decode, decode, decode, decodeXER, encode, encode, encode, encode, getAsn1TypeName, getLength, hashCode, toString, validate
 
Methods inherited from class com.objsys.asn1j.runtime.Asn1Type
clone, decode, decode, decode, decode, decode, encode, encode, equals, getTypeName, indent, isOpenType, matchTag, matchTag, pdiag, print, setKey, setOpenType
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

TAG

public static final Asn1Tag TAG
The TAG constant describes the universal tag for this data type (UNIVERSAL 24).

Constructor Detail

Asn1GeneralizedTime

public Asn1GeneralizedTime()
The default constructor creates an empty time string object.


Asn1GeneralizedTime

public Asn1GeneralizedTime(boolean useDerRules)
This constructor creates an empty time string object and allows DER encoding rules to be specified.

Parameters:
useDerRules - 'true' if time string should be encoded with DER/PER.

Asn1GeneralizedTime

public Asn1GeneralizedTime(java.lang.String data)
This version of the constructor can be used to set the string value member variable to the given time string. The format of a GeneralizedTime string is YYYYMMDDHHMMSS.n[Z][-HHMM].

Parameters:
data - Character string

Asn1GeneralizedTime

public Asn1GeneralizedTime(java.lang.String data,
                           boolean useDerRules)
This version of the constructor can be used to set the string value member variable to the given time string and specify DER encoding rules be used to construct the string.

Parameters:
data - Character string
useDerRules - 'true' if time string should be encoded with DER/PER.
Method Detail

equals

public boolean equals(java.lang.String s)
This method compares this object with a String value. Strictly speaking, the contract of equals stipulates identity: a.equals(b) iff b.equals(a). However, it is never the case that a String will equal an Asn1Time object. In this case, then, equals should be taken to mean that the time represented by the string passed in is the same time as the object to which it is compared.

Specified by:
equals in class Asn1Time
Parameters:
s -

decode

public void decode(Asn1BerDecodeBuffer buffer,
                   boolean explicit,
                   int implicitLength)
            throws Asn1Exception,
                   java.io.IOException
This method decodes an ASN.1 string value including the UNIVERSAL tag value and length if explicit tagging is specified.

Specified by:
decode in interface Asn1TypeIF
Overrides:
decode in class Asn1Type
Parameters:
buffer - Decode message buffer object
explicit - Flag indicating element is explicitly tagged
implicitLength - Length of contents if implicit
Throws:
Asn1Exception
java.io.IOException

encode

public int encode(Asn1BerEncodeBuffer buffer,
                  boolean explicit)
           throws Asn1Exception
This method encodes an ASN.1 string type. The UNIVERSAL tag value and length is also encoded if explicit tagging is specified.

Specified by:
encode in interface Asn1TypeIF
Overrides:
encode in class Asn1Type
Parameters:
buffer - Encode message buffer object
explicit - Flag indicating explicit tagging should be done
Returns:
Length in octets of encoded component
Throws:
Asn1Exception

getCentury

public int getCentury()
               throws Asn1Exception
This method returns the century part (first two digits) of the year component of the time value.

Returns:
Century part (first two digits) of the year component is returned if the operation is successful.
Throws:
Asn1Exception - Thrown, if operation is failed.

setCentury

public void setCentury(int century)
                throws Asn1Exception
This method sets the century part (first two digits) of the year component of the time value.

Parameters:
century - Century part (first two digits) of the year component.
Throws:
Asn1Exception - Thrown, if operation is failed.

parseString

public void parseString(java.lang.String string)
                 throws Asn1Exception
This method parses the given time string value. It will throw and exception if the string is not in the valid time format. The valid format of a GeneralizedTime string is YYYYMMDDHHMMSS.n[Z][-HHMM].

Specified by:
parseString in class Asn1Time
Parameters:
string - The time string value to be parsed.
Throws:
Asn1Exception - Thrown, if operation is failed.

compileString

protected boolean compileString()
                         throws Asn1Exception
Compiles new time string accoring X.680 (clause 41) and ISO 8601.

Specified by:
compileString in class Asn1Time
Returns:
true, if succeed, or false code, if error.
Throws:
Asn1Exception - Thrown, if operation is failed.

encode

public void encode(Asn1BerOutputStream out,
                   boolean explicit)
            throws Asn1Exception,
                   java.io.IOException
This method encodes and writes to stream an ASN.1 generalized time string value including the UNIVERSAL tag value and length if explicit tagging is specified. This overloaded version uses the Basic Encoding Rules (BER).

Specified by:
encode in interface Asn1TypeIF
Overrides:
encode in class Asn1Type
Parameters:
out - BER Output Stream object
explicit - Flag indicating explicit tagging should be done
Throws:
java.io.IOException - Any exception thrown by the underlying OutputStream.
Asn1Exception - Thrown, if operation is failed.