You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2005/09/09 21:22:11 UTC

svn commit: r279849 - /directory/asn1/branches/asn1-new-ber/der/src/java/org/apache/asn1/der/DERTaggedObject.java

Author: elecharny
Date: Fri Sep  9 12:22:07 2005
New Revision: 279849

URL: http://svn.apache.org/viewcvs?rev=279849&view=rev
Log:
Backport from head

Modified:
    directory/asn1/branches/asn1-new-ber/der/src/java/org/apache/asn1/der/DERTaggedObject.java

Modified: directory/asn1/branches/asn1-new-ber/der/src/java/org/apache/asn1/der/DERTaggedObject.java
URL: http://svn.apache.org/viewcvs/directory/asn1/branches/asn1-new-ber/der/src/java/org/apache/asn1/der/DERTaggedObject.java?rev=279849&r1=279848&r2=279849&view=diff
==============================================================================
--- directory/asn1/branches/asn1-new-ber/der/src/java/org/apache/asn1/der/DERTaggedObject.java (original)
+++ directory/asn1/branches/asn1-new-ber/der/src/java/org/apache/asn1/der/DERTaggedObject.java Fri Sep  9 12:22:07 2005
@@ -26,10 +26,20 @@
 public class DERTaggedObject implements DEREncodable
 {
     protected int tag;
-    protected boolean empty    = false;
+    protected boolean empty = false;
     protected boolean explicit = true;
-    protected DEREncodable obj = null;
-    
+    protected DEREncodable obj;
+    private byte[] bytes;
+
+    /**
+     * create an implicitly tagged object that contains a zero
+     * length sequence.
+     */
+    public DERTaggedObject( int tag )
+    {
+        this( false, tag, new DERSequence() );
+    }
+
     /**
      * @param tag the tag number for this object.
      * @param obj the tagged object.
@@ -43,7 +53,7 @@
 
     /**
      * @param explicit true if an explicitly tagged object.
-     * @param tagNo the tag number for this object.
+     * @param tag the tag number for this object.
      * @param obj the tagged object.
      */
     public DERTaggedObject( boolean explicit, int tag, DEREncodable obj )
@@ -52,21 +62,25 @@
         this.tag = tag;
         this.obj = obj;
     }
-    
-    /**
-     * create an implicitly tagged object that contains a zero
-     * length sequence.
-     */
-    public DERTaggedObject( int tag )
+
+    public DERTaggedObject( boolean explicit, int tag, DEREncodable obj, byte[] bytes )
     {
-        this( false, tag, new DERSequence() );
+        this.explicit = explicit;
+        this.tag = tag;
+        this.obj = obj;
+        this.bytes = bytes;
     }
-    
+
+    public byte[] getOctets()
+    {
+        return bytes;
+    }
+
     public int getTagNo()
     {
         return tag;
     }
-    
+
     /**
      * return whatever was following the tag.
      * <p>
@@ -84,8 +98,7 @@
         return null;
     }
 
-    public void encode( ASN1OutputStream out )
-        throws IOException
+    public void encode( ASN1OutputStream out ) throws IOException
     {
         if ( !empty )
         {
@@ -106,11 +119,11 @@
                 // need to mark constructed types
                 if ( ( bytes[ 0 ] & DERObject.CONSTRUCTED ) != 0 )
                 {
-                    bytes[ 0 ] = (byte)( DERObject.CONSTRUCTED | DERObject.TAGGED | tag );
+                    bytes[ 0 ] = (byte) ( DERObject.CONSTRUCTED | DERObject.TAGGED | tag );
                 }
                 else
                 {
-                    bytes[ 0 ] = (byte)( DERObject.TAGGED | tag );
+                    bytes[ 0 ] = (byte) ( DERObject.TAGGED | tag );
                 }
 
                 out.write( bytes );
@@ -122,4 +135,3 @@
         }
     }
 }
-