jp.bitmeister.asn1.codec.xer
Class XerEncoder

java.lang.Object
  extended by jp.bitmeister.asn1.codec.xer.XerEncoder
All Implemented Interfaces:
ASN1Encoder, ASN1Visitor<java.lang.String,ASN1EncodingException>

public class XerEncoder
extends java.lang.Object
implements ASN1Encoder, ASN1Visitor<java.lang.String,ASN1EncodingException>

XER (XML Encoding Rules) encoder.

XerEncoder is an implementation of ASN1Encoder. It encodes an ASN.1 data to an XML document with XML Encoding Rules(XER) and writes the result to OutputStream that is specified when the encoder was instantiated. XER encoding process is light-weight compared with Canonical XML Encoding Rules (CXER) encoding because some restrictions on CXER are not considered.

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

Constructor Summary
XerEncoder(java.lang.Class<? extends ASN1Module> module, java.io.OutputStream out)
          Instantiates a XEREncoder.
XerEncoder(java.lang.Class<? extends ASN1Module> module, java.io.OutputStream out, boolean prologIsEmpty)
          Instantiates a XEREncoder.
XerEncoder(java.io.OutputStream out)
          Instantiates a XEREncoder.
XerEncoder(java.io.OutputStream out, boolean prologIsEmpty)
          Instantiates a XEREncoder.
 
Method Summary
 int encode(ASN1Type data)
          Encodes an ASN.1 data.
 java.lang.String visit(ANY data)
          Visits the ANY data.
 java.lang.String visit(BIT_STRING data)
          Visits the BIT_STRING data.
 java.lang.String visit(BOOLEAN data)
          Visits the BOOLEAN data.
 java.lang.String visit(CHOICE data)
          Visits the CHOICE data.
 java.lang.String visit(ENUMERATED data)
          Visits the ENUMERATED data.
 java.lang.String visit(INTEGER data)
          Visits the INTEGER data.
 java.lang.String visit(NULL data)
          Visits the NULL data.
 java.lang.String visit(OBJECT_IDENTIFIER data)
          Visits the OBJECT_IDENTIFIER data.
 java.lang.String visit(OCTET_STRING data)
          Visits the OCTET_STRING data.
 java.lang.String visit(REAL data)
          Visits the REAL data.
 java.lang.String visit(RELATIVE_OID data)
          Visits the RELATIVE_OID data.
 java.lang.String visit(SEQUENCE_OF<? extends ASN1Type> data)
          Visits the SEQUENCE_OF data.
 java.lang.String visit(SEQUENCE data)
          Visits the SEQUENCE data.
 java.lang.String visit(SET_OF<? extends ASN1Type> data)
          Visits the SET_OF data.
 java.lang.String visit(SET data)
          Visits the SET data.
 java.lang.String visit(StringType data)
          Visits the StringType data.
 java.lang.String visit(TimeType data)
          Visits the TimeType data.
 java.lang.String 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

XerEncoder

public XerEncoder(java.io.OutputStream out)
Instantiates a XEREncoder.

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

XerEncoder

public XerEncoder(java.lang.Class<? extends ASN1Module> module,
                  java.io.OutputStream out)
Instantiates a XEREncoder.

Parameters:
module - The ASN.1 module used for encoding.
out - The OutputStream that encoded octets will be written.

XerEncoder

public XerEncoder(java.io.OutputStream out,
                  boolean prologIsEmpty)
Instantiates a XEREncoder.

Parameters:
out - The OutputStream that encoded octets will be written.
prologIsEmpty - If true, the XML prolog for result XML document will be empty.

XerEncoder

public XerEncoder(java.lang.Class<? extends ASN1Module> module,
                  java.io.OutputStream out,
                  boolean prologIsEmpty)
Instantiates a XEREncoder.

Parameters:
module - The ASN.1 module used for encoding.
out - The OutputStream that encoded octets will be written.
prologIsEmpty - If true, the XML prolog for result XML document will be empty.
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 java.lang.String visit(BOOLEAN data)
Description copied from interface: ASN1Visitor
Visits the BOOLEAN data.

Specified by:
visit in interface ASN1Visitor<java.lang.String,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.

visit

public java.lang.String visit(INTEGER data)
Description copied from interface: ASN1Visitor
Visits the INTEGER data.

Specified by:
visit in interface ASN1Visitor<java.lang.String,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.

visit

public java.lang.String visit(BIT_STRING data)
Description copied from interface: ASN1Visitor
Visits the BIT_STRING data.

Specified by:
visit in interface ASN1Visitor<java.lang.String,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.

visit

public java.lang.String visit(OCTET_STRING data)
Description copied from interface: ASN1Visitor
Visits the OCTET_STRING data.

Specified by:
visit in interface ASN1Visitor<java.lang.String,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.

visit

public java.lang.String visit(NULL data)
Description copied from interface: ASN1Visitor
Visits the NULL data.

Specified by:
visit in interface ASN1Visitor<java.lang.String,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.

visit

public java.lang.String visit(OBJECT_IDENTIFIER data)
Description copied from interface: ASN1Visitor
Visits the OBJECT_IDENTIFIER data.

Specified by:
visit in interface ASN1Visitor<java.lang.String,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.

visit

public java.lang.String visit(RELATIVE_OID data)
Description copied from interface: ASN1Visitor
Visits the RELATIVE_OID data.

Specified by:
visit in interface ASN1Visitor<java.lang.String,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.

visit

public java.lang.String visit(REAL data)
Description copied from interface: ASN1Visitor
Visits the REAL data.

Specified by:
visit in interface ASN1Visitor<java.lang.String,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.

visit

public java.lang.String visit(ENUMERATED data)
Description copied from interface: ASN1Visitor
Visits the ENUMERATED data.

Specified by:
visit in interface ASN1Visitor<java.lang.String,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.

visit

public java.lang.String visit(ANY data)
                       throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the ANY data.

Specified by:
visit in interface ASN1Visitor<java.lang.String,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException

visit

public java.lang.String visit(CHOICE data)
                       throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the CHOICE data.

Specified by:
visit in interface ASN1Visitor<java.lang.String,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException

visit

public java.lang.String visit(SEQUENCE_OF<? extends ASN1Type> data)
                       throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the SEQUENCE_OF data.

Specified by:
visit in interface ASN1Visitor<java.lang.String,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException

visit

public java.lang.String visit(SEQUENCE data)
                       throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the SEQUENCE data.

Specified by:
visit in interface ASN1Visitor<java.lang.String,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException

visit

public java.lang.String visit(SET_OF<? extends ASN1Type> data)
                       throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the SET_OF data.

Specified by:
visit in interface ASN1Visitor<java.lang.String,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException

visit

public java.lang.String visit(SET data)
                       throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the SET data.

Specified by:
visit in interface ASN1Visitor<java.lang.String,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException

visit

public java.lang.String visit(StringType data)
                       throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the StringType data.

Specified by:
visit in interface ASN1Visitor<java.lang.String,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException

visit

public java.lang.String visit(TimeType data)
                       throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the TimeType data.

Specified by:
visit in interface ASN1Visitor<java.lang.String,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException

visit

public java.lang.String visit(UnknownType data)
                       throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the UnknownType data.

Specified by:
visit in interface ASN1Visitor<java.lang.String,ASN1EncodingException>
Parameters:
data - The data to be visited.
Returns:
Result.
Throws:
ASN1EncodingException