/*
 * Created by brightSPARK Labs
 * www.brightsparklabs.com
 */

package com.brightsparklabs.asanti.model;

/**
 * Interface for modeling an ASN.1 schema
 *
 * @author brightSPARK Labs
 */
public interface AsnSchema
{

    // -------------------------------------------------------------------------
    // PUBLIC METHODS
    // -------------------------------------------------------------------------

    /**
     * Returns the decoded tag for the supplied raw tag. E.g.
     * {@code getDecodedTag("/1/0/1")} => {@code "/Header/Published/Date"}
     *
     * @return the decoded tag or an empty string if it cannot be decoded
     */
    public String getDecodedTag(String rawTag);

    /**
     * Returns the raw tag for the supplied decoded tag. E.g.
     * {@code getRawTag("/Header/Published/Date")} => {@code "/1/0/1"}
     *
     * @return the raw tag or an empty string if it cannot be determined
     */
    public String getRawTag(String decodedTag);

    /**
     * Gets the data (bytes) associated with the specified tag as a printable
     * string
     *
     * @param tag
     *            tag associated with the data
     *
     * @return data associated with the specified tag or an empty string if the
     *         tag does not exist or parameters are {@code null}
     */
    public String getPrintableString(String tag, byte[] data);

    /**
     * Gets the data (bytes) associated with the specified tag as the decoded
     * Java object most appropriate to its type
     *
     * @param tag
     *            tag associated with the data
     *
     * @return data associated with the specified tag or an empty byte array if
     *         the tag does not exist or parameters are {@code null}
     */
    public Object getDecodedObject(String tag, byte[] data);
}

@@ -542,32 +542,96 @@
 d/Date%22%7D%0A     *%0A
+     * @param rawTag%0A     *            raw tag to decode%0A     *%0A
      * @return t
@@ -684,24 +684,24 @@
  be decoded%0A
-
      */%0A    
@@ -885,32 +885,117 @@
 /1/0/1%22%7D%0A     *%0A
+     * @param decodedTag%0A     *            decoded tag to map back to raw tag%0A     *%0A
      * @return t
@@ -1279,32 +1279,105 @@
 the data%0A     *%0A
+     * @param data%0A     *            data associated with the tag%0A     *%0A
      * @return d
@@ -1728,32 +1728,32 @@
    * @param tag%0A
-
      *          
@@ -1782,32 +1782,105 @@
 the data%0A     *%0A
+     * @param data%0A     *            data associated with the tag%0A     *%0A
      * @return d

Fix javadoc