You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by we...@apache.org on 2004/02/08 15:22:27 UTC

svn commit: rev 6588 - incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/asn

Author: wesmckean
Date: Sun Feb  8 06:22:27 2004
New Revision: 6588

Added:
   incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/asn/ASNDecoder.java
Log:
Initial load

Added: incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/asn/ASNDecoder.java
==============================================================================
--- (empty file)
+++ incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/asn/ASNDecoder.java	Sun Feb  8 06:22:27 2004
@@ -0,0 +1,97 @@
+/*
+
+ ============================================================================
+                   The Apache Software License, Version 1.1
+ ============================================================================
+
+ Copyright (C) 1999-2002 The Apache Software Foundation. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without modifica-
+ tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of  source code must  retain the above copyright  notice,
+    this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+    this list of conditions and the following disclaimer in the documentation
+    and/or other materials provided with the distribution.
+
+ 3. The end-user documentation included with the redistribution, if any, must
+    include  the following  acknowledgment:  "This product includes  software
+    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
+    Alternately, this  acknowledgment may  appear in the software itself,  if
+    and wherever such third-party acknowledgments normally appear.
+
+ 4. The names "Eve Directory Server", "Apache Directory Project", "Apache Eve" 
+    and "Apache Software Foundation"  must not be used to endorse or promote
+    products derived  from this  software without  prior written
+    permission. For written permission, please contact apache@apache.org.
+
+ 5. Products  derived from this software may not  be called "Apache", nor may
+    "Apache" appear  in their name,  without prior written permission  of the
+    Apache Software Foundation.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
+ APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
+ DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
+ ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
+ (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ This software  consists of voluntary contributions made  by many individuals
+ on  behalf of the Apache Software  Foundation. For more  information on the
+ Apache Software Foundation, please see <http://www.apache.org/>.
+
+*/
+
+package org.apache.snickers.asn;
+
+/**
+ * @author Wes McKean
+ *
+ * Basic interface for decoding TLVs.  The bytes
+ * are read in as ints, due to the casting limitation of
+ * bytes (-1=0xFF), and then passed to the decoder
+ * for decoding.
+ */
+public interface ASNDecoder {
+
+    /**
+     * Decode a boolean from an array of bytes into a Java 
+     * Boolean object
+     * 
+     * @param value The boolean encoded as an array of ints(bytes)
+     * @return a Boolean (decoded)
+     */
+    Boolean decodeBoolean( int[] value );
+    
+    /**
+     * Decodes an Integer from an array of ints (bytes)
+     * 
+     * @param value The integer, encoded in an array of ints(bytes)
+     * @return an Integer (decoded)
+     */
+    Integer decodeInteger( int[] value );
+    
+    /**
+     * Decodes a <code>BitString</code> from the an array of
+     * ints (bytes) into which it has been encoded.
+     *  
+     * @param value the int (byte) encoded <code>BitString</code>
+     * @return The decoded <code>BitString</code>
+     */
+    BitString decodeBitString( int[] value );
+    
+    /**
+     * Decodes a <code>OctetString</code> from the an array of
+     * ints (bytes) into which it has been encoded.
+     *  
+     * @param value the int (byte) encoded <code>OctetString</code>
+     * @return The decoded <code>OctetString</code>
+     */
+    String decodeOctetString( int[] value );
+}