derconstructedsequence.java

来自「《移动Agent技术》一书的所有章节源代码。」· Java 代码 · 共 78 行

JAVA
78
字号
package org.bouncycastle.asn1;import java.io.*;import java.util.*;public class DERConstructedSequence    extends DERObject{    private Vector seq = new Vector();    public DERConstructedSequence()    {    }    public void addObject(        DEREncodable obj)    {        seq.addElement(obj);    }    public Enumeration getObjects()    {        return seq.elements();    }    /**     * return the object at the sequence postion indicated by index.     *     * @param the sequence number (starting at zero) of the object     * @return the object at the sequence postion indicated by index.     */    public Object getObjectAt(        int index)    {        return seq.elementAt(index);    }    /**     * return the number of objects in this sequence.     *     * @return the number of objects in this sequence.     */    public int getSize()    {        return seq.size();    }    /*     * A note on the implementation:     * <p>     * As DER requires the constructed, definite-length model to     * be used for structured types, this varies slightly from the     * ASN.1 descriptions given. Rather than just outputing SEQUENCE,     * we also have to specify CONSTRUCTED, and the objects length.     */    void encode(        DEROutputStream out)        throws IOException    {        ByteArrayOutputStream   bOut = new ByteArrayOutputStream();        DEROutputStream         dOut = new DEROutputStream(bOut);        Enumeration             e = getObjects();        while (e.hasMoreElements())        {            Object    obj = e.nextElement();            dOut.writeObject(obj);        }        dOut.close();        byte[]  bytes = bOut.toByteArray();        out.writeEncoded(SEQUENCE | CONSTRUCTED, bytes);    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?