cryptix.asn1.encoding

Class BaseCoder

Implemented Interfaces:
CoderOperations, ParserVisitor
Known Direct Subclasses:
DER

public class BaseCoder
extends java.lang.Object
implements CoderOperations

A superclass of all asn1.Parser Visitors. Implements a simple iteration through all the children nodes of a non-termianl node for an already generated/parsed sub-tree.

This class incorporates design ideas implemented in Pekka Nikander's (main architect & principal programmer; <mailto:Pekka.Nikander@nixu.fi>) JaSCA (Java SNMP Control Applet) public domain software. Copyright ©1997, 1998, 1999 Systemics Ltd on behalf of the Cryptix Development Team.
All rights reserved.

$Revision: 1.1 $

Author:
Raif S. Naffah

Field Summary

protected InputStream
in
protected OutputStream
out

Fields inherited from interface cryptix.asn1.encoding.CoderOperations

DECODING, ENCODING, UNINITIALIZED

Method Summary

void
decode(ASNAny obj, InputStream in)
void
decode(ASNBitString obj, InputStream in)
void
decode(ASNBoolean obj, InputStream in)
void
decode(ASNInteger obj, InputStream in)
void
decode(ASNNull obj, InputStream in)
void
decode(ASNObjectIdentifier obj, InputStream in)
void
decode(ASNOctetString obj, InputStream in)
void
decode(ASNPrintableString obj, InputStream in)
void
decode(ASNSequence obj, InputStream in)
void
decode(ASNSequenceOf obj, InputStream in)
void
decode(ASNSet obj, InputStream in)
void
decode(ASNSetOf obj, InputStream in)
void
decode(ASNTaggedType obj, InputStream in)
void
decode(ASNTime obj, InputStream in)
void
decode(ASNType obj, InputStream in)
void
decode(ASNTypeAlias obj, InputStream in)
void
encode(ASNAny obj, OutputStream out)
void
encode(ASNBitString obj, OutputStream out)
void
encode(ASNBoolean obj, OutputStream out)
void
encode(ASNInteger obj, OutputStream out)
void
encode(ASNNull obj, OutputStream out)
void
encode(ASNObjectIdentifier obj, OutputStream out)
void
encode(ASNOctetString obj, OutputStream out)
void
encode(ASNPrintableString obj, OutputStream out)
void
encode(ASNSequence obj, OutputStream out)
void
encode(ASNSequenceOf obj, OutputStream out)
void
encode(ASNSet obj, OutputStream out)
void
encode(ASNSetOf obj, OutputStream out)
void
encode(ASNTaggedType obj, OutputStream out)
void
encode(ASNTime obj, OutputStream out)
void
encode(ASNType obj, OutputStream out)
void
encode(ASNTypeAlias obj, OutputStream out)
static CoderOperations
getInstance(String anEncoding)
Instantiates an ASN.1 coder to use for concrete processing of the input/output.
int
getState()
void
init(InputStream is)
void
init(OutputStream os)
Object
visit(ASNAny node, Object data)
Object
visit(ASNBitString node, Object data)
Object
visit(ASNBoolean node, Object data)
Object
visit(ASNInteger node, Object data)
Object
visit(ASNNull node, Object data)
Object
visit(ASNObjectIdentifier node, Object data)
Object
visit(ASNOctetString node, Object data)
Object
visit(ASNPrintableString node, Object data)
Object
visit(ASNSequence node, Object data)
Object
visit(ASNSequenceOf node, Object data)
Object
visit(ASNSet node, Object data)
Object
visit(ASNSetOf node, Object data)
Object
visit(ASNSpecification node, Object data)
Object
visit(ASNTaggedType node, Object data)
Object
visit(ASNTime node, Object data)
Object
visit(ASNType node, Object data)
Object
visit(ASNTypeAlias node, Object data)
Object
visit(SimpleNode x, Object data)
protected Object
visitInternal(SimpleNode node, Object data)

Field Details

in

protected InputStream in


out

protected OutputStream out

Method Details

decode

public void decode(ASNAny obj,
                   InputStream in)
            throws IOException
Specified by:
decode in interface CoderOperations


decode

public void decode(ASNBitString obj,
                   InputStream in)
            throws IOException
Specified by:
decode in interface CoderOperations


decode

public void decode(ASNBoolean obj,
                   InputStream in)
            throws IOException
Specified by:
decode in interface CoderOperations


decode

public void decode(ASNInteger obj,
                   InputStream in)
            throws IOException
Specified by:
decode in interface CoderOperations


decode

public void decode(ASNNull obj,
                   InputStream in)
            throws IOException
Specified by:
decode in interface CoderOperations


decode

public void decode(ASNObjectIdentifier obj,
                   InputStream in)
            throws IOException
Specified by:
decode in interface CoderOperations


decode

public void decode(ASNOctetString obj,
                   InputStream in)
            throws IOException
Specified by:
decode in interface CoderOperations


decode

public void decode(ASNPrintableString obj,
                   InputStream in)
            throws IOException
Specified by:
decode in interface CoderOperations


decode

public void decode(ASNSequence obj,
                   InputStream in)
            throws IOException
Specified by:
decode in interface CoderOperations


decode

public void decode(ASNSequenceOf obj,
                   InputStream in)
            throws IOException
Specified by:
decode in interface CoderOperations


decode

public void decode(ASNSet obj,
                   InputStream in)
            throws IOException
Specified by:
decode in interface CoderOperations


decode

public void decode(ASNSetOf obj,
                   InputStream in)
            throws IOException
Specified by:
decode in interface CoderOperations


decode

public void decode(ASNTaggedType obj,
                   InputStream in)
            throws IOException
Specified by:
decode in interface CoderOperations


decode

public void decode(ASNTime obj,
                   InputStream in)
            throws IOException
Specified by:
decode in interface CoderOperations


decode

public void decode(ASNType obj,
                   InputStream in)
            throws IOException


decode

public void decode(ASNTypeAlias obj,
                   InputStream in)
            throws IOException


encode

public void encode(ASNAny obj,
                   OutputStream out)
            throws IOException
Specified by:
encode in interface CoderOperations


encode

public void encode(ASNBitString obj,
                   OutputStream out)
            throws IOException
Specified by:
encode in interface CoderOperations


encode

public void encode(ASNBoolean obj,
                   OutputStream out)
            throws IOException
Specified by:
encode in interface CoderOperations


encode

public void encode(ASNInteger obj,
                   OutputStream out)
            throws IOException
Specified by:
encode in interface CoderOperations


encode

public void encode(ASNNull obj,
                   OutputStream out)
            throws IOException
Specified by:
encode in interface CoderOperations


encode

public void encode(ASNObjectIdentifier obj,
                   OutputStream out)
            throws IOException
Specified by:
encode in interface CoderOperations


encode

public void encode(ASNOctetString obj,
                   OutputStream out)
            throws IOException
Specified by:
encode in interface CoderOperations


encode

public void encode(ASNPrintableString obj,
                   OutputStream out)
            throws IOException
Specified by:
encode in interface CoderOperations


encode

public void encode(ASNSequence obj,
                   OutputStream out)
            throws IOException
Specified by:
encode in interface CoderOperations


encode

public void encode(ASNSequenceOf obj,
                   OutputStream out)
            throws IOException
Specified by:
encode in interface CoderOperations


encode

public void encode(ASNSet obj,
                   OutputStream out)
            throws IOException
Specified by:
encode in interface CoderOperations


encode

public void encode(ASNSetOf obj,
                   OutputStream out)
            throws IOException
Specified by:
encode in interface CoderOperations


encode

public void encode(ASNTaggedType obj,
                   OutputStream out)
            throws IOException
Specified by:
encode in interface CoderOperations


encode

public void encode(ASNTime obj,
                   OutputStream out)
            throws IOException
Specified by:
encode in interface CoderOperations


encode

public void encode(ASNType obj,
                   OutputStream out)
            throws IOException


encode

public void encode(ASNTypeAlias obj,
                   OutputStream out)
            throws IOException


getInstance

public static CoderOperations getInstance(String anEncoding)
Instantiates an ASN.1 coder to use for concrete processing of the input/output.

Effectively, EncodingFactory objects implement the encoding format for an ASN.1 grammar.

Parameters:
anEncoding - Name of the encoding. If the name is not fully qualified, then look for a class with same name in package defined by the package-specific property with the key "asn.1.encoding.home".


getState

public int getState()


init

public void init(InputStream is)
Specified by:
init in interface CoderOperations


init

public void init(OutputStream os)
Specified by:
init in interface CoderOperations


visit

public Object visit(ASNAny node,
                    Object data)
            throws IOException
Specified by:
visit in interface ParserVisitor


visit

public Object visit(ASNBitString node,
                    Object data)
            throws IOException
Specified by:
visit in interface ParserVisitor


visit

public Object visit(ASNBoolean node,
                    Object data)
            throws IOException
Specified by:
visit in interface ParserVisitor


visit

public Object visit(ASNInteger node,
                    Object data)
            throws IOException
Specified by:
visit in interface ParserVisitor


visit

public Object visit(ASNNull node,
                    Object data)
            throws IOException
Specified by:
visit in interface ParserVisitor


visit

public Object visit(ASNObjectIdentifier node,
                    Object data)
            throws IOException
Specified by:
visit in interface ParserVisitor


visit

public Object visit(ASNOctetString node,
                    Object data)
            throws IOException
Specified by:
visit in interface ParserVisitor


visit

public Object visit(ASNPrintableString node,
                    Object data)
            throws IOException
Specified by:
visit in interface ParserVisitor


visit

public Object visit(ASNSequence node,
                    Object data)
            throws IOException
Specified by:
visit in interface ParserVisitor


visit

public Object visit(ASNSequenceOf node,
                    Object data)
            throws IOException
Specified by:
visit in interface ParserVisitor


visit

public Object visit(ASNSet node,
                    Object data)
            throws IOException
Specified by:
visit in interface ParserVisitor


visit

public Object visit(ASNSetOf node,
                    Object data)
            throws IOException
Specified by:
visit in interface ParserVisitor


visit

public Object visit(ASNSpecification node,
                    Object data)
            throws IOException
Specified by:
visit in interface ParserVisitor


visit

public Object visit(ASNTaggedType node,
                    Object data)
            throws IOException
Specified by:
visit in interface ParserVisitor


visit

public Object visit(ASNTime node,
                    Object data)
            throws IOException
Specified by:
visit in interface ParserVisitor


visit

public Object visit(ASNType node,
                    Object data)
            throws IOException
Specified by:
visit in interface ParserVisitor


visit

public Object visit(ASNTypeAlias node,
                    Object data)
            throws IOException
Specified by:
visit in interface ParserVisitor


visit

public Object visit(SimpleNode x,
                    Object data)
            throws IOException
Specified by:
visit in interface ParserVisitor


visitInternal

protected Object visitInternal(SimpleNode node,
                               Object data)
            throws IOException