jp.bitmeister.asn1.codec.ber
Class BerEncoder

java.lang.Object
  extended by jp.bitmeister.asn1.codec.ber.BerEncoder
All Implemented Interfaces:
ASN1Encoder, ASN1Visitor<jp.bitmeister.asn1.codec.ber.EncodedOctets,ASN1EncodingException>
Direct Known Subclasses:
DerEncoder

public class BerEncoder
extends java.lang.Object
implements ASN1Encoder, ASN1Visitor<jp.bitmeister.asn1.codec.ber.EncodedOctets,ASN1EncodingException>

BER (Basic Encoding Rules) encoder.

BerEncoder is an implementation of ASN1Encoder. It encodes an ASN.1 data to an array of byte with Basic Encoding Rules(BER) and writes the result to OutputStream that is specified when the encoder was instantiated. BER encoding process is light-weight compared with Distinguished Encoding Rules (DER) encoding because some restrictions on DER are not considered.

Author:
WATANABE, Jun.
See Also:
ASN1Encoder, BerDecoder

Constructor Summary
BerEncoder(java.io.OutputStream out)
          Instantiates a BER encoder.
 
Method Summary
 int encode(ASN1Type data)
          Encodes an ASN.1 data.
 jp.bitmeister.asn1.codec.ber.EncodedOctets visit(ANY data)
          Visits the ANY data.
 jp.bitmeister.asn1.codec.ber.EncodedOctets visit(BIT_STRING data)
          Visits the BIT_STRING data.
 jp.bitmeister.asn1.codec.ber.EncodedOctets visit(BOOLEAN data)
          Visits the BOOLEAN data.
 jp.bitmeister.asn1.codec.ber.EncodedOctets visit(CHOICE data)
          Visits the CHOICE data.
 jp.bitmeister.asn1.codec.ber.EncodedOctets visit(ENUMERATED data)
          Visits the ENUMERATED data.
 jp.bitmeister.asn1.codec.ber.EncodedOctets visit(INTEGER data)
          Visits the INTEGER data.
 jp.bitmeister.asn1.codec.ber.EncodedOctets visit(NULL data)
          Visits the NULL data.
 jp.bitmeister.asn1.codec.ber.EncodedOctets visit(OBJECT_IDENTIFIER data)
          Visits the OBJECT_IDENTIFIER data.
 jp.bitmeister.asn1.codec.ber.EncodedOctets visit(OCTET_STRING data)
          Visits the OCTET_STRING data.
 jp.bitmeister.asn1.codec.ber.EncodedOctets visit(REAL data)
          Visits the REAL data.
 jp.bitmeister.asn1.codec.ber.EncodedOctets visit(RELATIVE_OID data)
          Visits the RELATIVE_OID data.
 jp.bitmeister.asn1.codec.ber.EncodedOctets visit(SEQUENCE_OF<?> data)
          Visits the SEQUENCE_OF data.
 jp.bitmeister.asn1.codec.ber.EncodedOctets visit(SEQUENCE data)
          Visits the SEQUENCE data.
 jp.bitmeister.asn1.codec.ber.ConstructedOctets visit(SET_OF<?> data)
          Visits the SET_OF data.
 jp.bitmeister.asn1.codec.ber.ConstructedOctets visit(SET data)
          Visits the SET data.
 jp.bitmeister.asn1.codec.ber.EncodedOctets visit(StringType data)
          Visits the StringType data.
 jp.bitmeister.asn1.codec.ber.EncodedOctets visit(TimeType data)
          Visits the TimeType data.
 jp.bitmeister.asn1.codec.ber.EncodedOctets visit(UnknownType data)
          Visits the UnknownType data.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BerEncoder

public BerEncoder(java.io.OutputStream out)
Instantiates a BER encoder.

Parameters:
out - The OutputStream that encoded octets will be written.
Method Detail

encode

public int encode(ASN1Type data)
           throws ASN1EncodingException
Encodes an ASN.1 data.

Specified by:
encode in interface ASN1Encoder
Parameters:
data - The ASN.1 data to be encoded
Returns:
The size of encoded octets.
Throws:
ASN1EncodingException - When an error occurred while the encoding process.

visit

public jp.bitmeister.asn1.codec.ber.EncodedOctets visit(BOOLEAN data)
Description copied from interface: ASN1Visitor
Visits the BOOLEAN data.

Specified by:
visit in interface ASN1Visitor<jp.bitmeister.asn1.codec.ber.EncodedOctets,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.

visit

public jp.bitmeister.asn1.codec.ber.EncodedOctets visit(INTEGER data)
Description copied from interface: ASN1Visitor
Visits the INTEGER data.

Specified by:
visit in interface ASN1Visitor<jp.bitmeister.asn1.codec.ber.EncodedOctets,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.

visit

public jp.bitmeister.asn1.codec.ber.EncodedOctets visit(ENUMERATED data)
Description copied from interface: ASN1Visitor
Visits the ENUMERATED data.

Specified by:
visit in interface ASN1Visitor<jp.bitmeister.asn1.codec.ber.EncodedOctets,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.

visit

public jp.bitmeister.asn1.codec.ber.EncodedOctets visit(REAL data)
Description copied from interface: ASN1Visitor
Visits the REAL data.

Specified by:
visit in interface ASN1Visitor<jp.bitmeister.asn1.codec.ber.EncodedOctets,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.

visit

public jp.bitmeister.asn1.codec.ber.EncodedOctets visit(BIT_STRING data)
Description copied from interface: ASN1Visitor
Visits the BIT_STRING data.

Specified by:
visit in interface ASN1Visitor<jp.bitmeister.asn1.codec.ber.EncodedOctets,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.

visit

public jp.bitmeister.asn1.codec.ber.EncodedOctets visit(OCTET_STRING data)
                                                 throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the OCTET_STRING data.

Specified by:
visit in interface ASN1Visitor<jp.bitmeister.asn1.codec.ber.EncodedOctets,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException

visit

public jp.bitmeister.asn1.codec.ber.EncodedOctets visit(NULL data)
                                                 throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the NULL data.

Specified by:
visit in interface ASN1Visitor<jp.bitmeister.asn1.codec.ber.EncodedOctets,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException

visit

public jp.bitmeister.asn1.codec.ber.EncodedOctets visit(SEQUENCE data)
                                                 throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the SEQUENCE data.

Specified by:
visit in interface ASN1Visitor<jp.bitmeister.asn1.codec.ber.EncodedOctets,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException

visit

public jp.bitmeister.asn1.codec.ber.EncodedOctets visit(SEQUENCE_OF<?> data)
                                                 throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the SEQUENCE_OF data.

Specified by:
visit in interface ASN1Visitor<jp.bitmeister.asn1.codec.ber.EncodedOctets,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException

visit

public jp.bitmeister.asn1.codec.ber.ConstructedOctets visit(SET data)
                                                     throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the SET data.

Specified by:
visit in interface ASN1Visitor<jp.bitmeister.asn1.codec.ber.EncodedOctets,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException

visit

public jp.bitmeister.asn1.codec.ber.ConstructedOctets visit(SET_OF<?> data)
                                                     throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the SET_OF data.

Specified by:
visit in interface ASN1Visitor<jp.bitmeister.asn1.codec.ber.EncodedOctets,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException

visit

public jp.bitmeister.asn1.codec.ber.EncodedOctets visit(CHOICE data)
                                                 throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the CHOICE data.

Specified by:
visit in interface ASN1Visitor<jp.bitmeister.asn1.codec.ber.EncodedOctets,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException

visit

public jp.bitmeister.asn1.codec.ber.EncodedOctets visit(OBJECT_IDENTIFIER data)
                                                 throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the OBJECT_IDENTIFIER data.

Specified by:
visit in interface ASN1Visitor<jp.bitmeister.asn1.codec.ber.EncodedOctets,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException

visit

public jp.bitmeister.asn1.codec.ber.EncodedOctets visit(RELATIVE_OID data)
                                                 throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the RELATIVE_OID data.

Specified by:
visit in interface ASN1Visitor<jp.bitmeister.asn1.codec.ber.EncodedOctets,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException

visit

public jp.bitmeister.asn1.codec.ber.EncodedOctets visit(StringType data)
                                                 throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the StringType data.

Specified by:
visit in interface ASN1Visitor<jp.bitmeister.asn1.codec.ber.EncodedOctets,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException

visit

public jp.bitmeister.asn1.codec.ber.EncodedOctets visit(TimeType data)
                                                 throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the TimeType data.

Specified by:
visit in interface ASN1Visitor<jp.bitmeister.asn1.codec.ber.EncodedOctets,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException

visit

public jp.bitmeister.asn1.codec.ber.EncodedOctets visit(ANY data)
                                                 throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the ANY data.

Specified by:
visit in interface ASN1Visitor<jp.bitmeister.asn1.codec.ber.EncodedOctets,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException

visit

public jp.bitmeister.asn1.codec.ber.EncodedOctets visit(UnknownType data)
                                                 throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the UnknownType data.

Specified by:
visit in interface ASN1Visitor<jp.bitmeister.asn1.codec.ber.EncodedOctets,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException


Copyright © 2012 BitMeister Inc. All Rights Reserved.