org.glassfish.grizzly.smart
Class SmartEncoderTransformer<E>

java.lang.Object
  extended by org.glassfish.grizzly.AbstractTransformer<E,Buffer>
      extended by org.glassfish.grizzly.smart.SmartEncoderTransformer<E>
All Implemented Interfaces:
SmartTransformer<E,Buffer>, Transformer<E,Buffer>

public class SmartEncoderTransformer<E>
extends AbstractTransformer<E,Buffer>
implements SmartTransformer<E,Buffer>

Smart encoder, which is able to encoder a custom protocol message to a Buffer.

Author:
Alexey Stashok

Field Summary
protected  Attribute<Integer> currentTransformerIdxAttribute
           
static String MESSAGE_PROCESSING_TREE_ATTR_NAME
           
protected  Attribute<List> messageProcessingTreeAttribute
           
 
Fields inherited from class org.glassfish.grizzly.AbstractTransformer
attributeBuilder, incompletedResult, inputBufferAttribute, lastResultAttribute, outputBufferAttribute
 
Constructor Summary
SmartEncoderTransformer(Class<E> messageClass)
           
 
Method Summary
 Transformer createTransformer(Class fieldType, Class<? extends Transformer> prefTransformerClass)
           
 Class<E> getMessageClass()
           
 Map<Class,Class<? extends Transformer>> getPredefinedTransformers()
           
protected  Class<? extends Transformer> getTransformer(Class clazz)
           
 void release(AttributeStorage storage)
          The Transformer has done its work and can release all associated resource.
 TransformationResult<Buffer> transform(AttributeStorage storage, E input, Buffer output)
          Transforms an input data to some custom representation.
 
Methods inherited from class org.glassfish.grizzly.AbstractTransformer
getInput, getLastResult, getMemoryManager, getOutput, getProperties, getValue, getValue, hibernate, obtainMemoryManager, removeValue, setInput, setMemoryManager, setOutput, setValue, transform
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.glassfish.grizzly.Transformer
getInput, getLastResult, getOutput, getProperties, hibernate, setInput, setOutput, transform
 

Field Detail

MESSAGE_PROCESSING_TREE_ATTR_NAME

public static final String MESSAGE_PROCESSING_TREE_ATTR_NAME
See Also:
Constant Field Values

messageProcessingTreeAttribute

protected Attribute<List> messageProcessingTreeAttribute

currentTransformerIdxAttribute

protected Attribute<Integer> currentTransformerIdxAttribute
Constructor Detail

SmartEncoderTransformer

public SmartEncoderTransformer(Class<E> messageClass)
Method Detail

getMessageClass

public Class<E> getMessageClass()

transform

public TransformationResult<Buffer> transform(AttributeStorage storage,
                                              E input,
                                              Buffer output)
                                       throws TransformationException
Description copied from interface: Transformer
Transforms an input data to some custom representation.

Specified by:
transform in interface Transformer<E,Buffer>
Parameters:
storage - the external state storage, where Transformer could retrieve or store its state.
Returns:
the result TransformationResult
Throws:
TransformationException

release

public void release(AttributeStorage storage)
Description copied from interface: Transformer
The Transformer has done its work and can release all associated resource.

Specified by:
release in interface Transformer<E,Buffer>
Overrides:
release in class AbstractTransformer<E,Buffer>
Parameters:
storage - the external state storage, where Transformer could retrieve or store its state.

getPredefinedTransformers

public Map<Class,Class<? extends Transformer>> getPredefinedTransformers()

createTransformer

public Transformer createTransformer(Class fieldType,
                                     Class<? extends Transformer> prefTransformerClass)
Specified by:
createTransformer in interface SmartTransformer<E,Buffer>

getTransformer

protected Class<? extends Transformer> getTransformer(Class clazz)


Copyright © 2009 SUN Microsystems. All Rights Reserved.