org.opends.server.api
Class CompressedSchema

java.lang.Object
  extended by org.opends.server.api.CompressedSchema
Direct Known Subclasses:
DefaultCompressedSchema, JECompressedSchema

@PublicAPI(stability=UNCOMMITTED,
           mayInstantiate=false,
           mayExtend=true,
           mayInvoke=false)
public abstract class CompressedSchema
extends java.lang.Object

This class provides a utility for interacting with compressed representations of schema elements.


Constructor Summary
CompressedSchema()
           
 
Method Summary
abstract  Attribute decodeAttribute(byte[] encodedEntry, int startPos, int length)
          Decodes the contents of the provided array as an attribute.
abstract  java.util.Map<ObjectClass,java.lang.String> decodeObjectClasses(byte[] encodedObjectClasses)
          Decodes an object class set from the provided byte array.
abstract  byte[] encodeAttribute(Attribute attribute)
          Encodes the information in the provided attribute to a byte array.
abstract  byte[] encodeObjectClasses(java.util.Map<ObjectClass,java.lang.String> objectClasses)
          Encodes the provided set of object classes to a byte array.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CompressedSchema

public CompressedSchema()
Method Detail

encodeObjectClasses

public abstract byte[] encodeObjectClasses(java.util.Map<ObjectClass,java.lang.String> objectClasses)
                                    throws DirectoryException
Encodes the provided set of object classes to a byte array. If the same set had been previously encoded, then the cached value will be used. Otherwise, a new value will be created.

Parameters:
objectClasses - The set of object classes for which to retrieve the corresponding byte array token.
Returns:
A byte array containing the identifier assigned to the object class set.
Throws:
DirectoryException - If a problem occurs while attempting to determine the appropriate identifier.

decodeObjectClasses

public abstract java.util.Map<ObjectClass,java.lang.String> decodeObjectClasses(byte[] encodedObjectClasses)
                                                                         throws DirectoryException
Decodes an object class set from the provided byte array.

Parameters:
encodedObjectClasses - The byte array containing the object class set identifier.
Returns:
The decoded object class set.
Throws:
DirectoryException - If the provided byte array cannot be decoded as an object class set.

encodeAttribute

public abstract byte[] encodeAttribute(Attribute attribute)
                                throws DirectoryException
Encodes the information in the provided attribute to a byte array.

Parameters:
attribute - The attribute to be encoded.
Returns:
An encoded representation of the provided attribute.
Throws:
DirectoryException - If a problem occurs while attempting to determine the appropriate identifier.

decodeAttribute

public abstract Attribute decodeAttribute(byte[] encodedEntry,
                                          int startPos,
                                          int length)
                                   throws DirectoryException
Decodes the contents of the provided array as an attribute.

Parameters:
encodedEntry - The byte array containing the encoded entry.
startPos - The position within the array of the first byte for the attribute to decode.
length - The number of bytes contained in the encoded attribute.
Returns:
The decoded attribute.
Throws:
DirectoryException - If the attribute could not be decoded properly for some reason.