org.ldaptive.beans.reflect
Class DefaultReflectionTranscoder

java.lang.Object
  extended by org.ldaptive.beans.reflect.DefaultReflectionTranscoder
All Implemented Interfaces:
ReflectionTranscoder

public class DefaultReflectionTranscoder
extends Object
implements ReflectionTranscoder

Default implementation of a reflection transcoder. Determines the correct underlying reflection transcoder by inspecting the class type characteristics.

Version:
$Revision: 3013 $ $Date: 2014-07-02 11:26:52 -0400 (Wed, 02 Jul 2014) $
Author:
Middleware Services

Field Summary
protected  org.slf4j.Logger logger
          Logger for this class.
 
Constructor Summary
DefaultReflectionTranscoder(Type type)
          Creates a new default reflection transcoder.
DefaultReflectionTranscoder(Type type, org.ldaptive.io.ValueTranscoder<?> transcoder)
          Creates a new default reflection transcoder.
 
Method Summary
 Object decodeBinaryValues(Collection<byte[]> values)
          Decodes the supplied values into an object.
 Object decodeStringValues(Collection<String> values)
          Decodes the supplied values into an object.
 Collection<byte[]> encodeBinaryValues(Object values)
          Encodes the supplied value into one or more byte arrays for use in an attribute.
 Collection<String> encodeStringValues(Object values)
          Encodes the supplied value into one or more strings for use in an attribute.
protected  ReflectionTranscoder getCollectionEncoder(Class<?> type, Type genericType)
          Returns the appropriate collection encoder for the supplied type.
protected  Set<SingleValueReflectionTranscoder<?>> getDefaultSingleValueTranscoders()
          Initializes the set of default single value transcoders.
protected  SingleValueReflectionTranscoder getSingleValueReflectionTranscoder(Class<?> type)
          Returns the appropriate single value encoder for the supplied type.
 Class<?> getType()
          Returns the type produced by this transcoder.
 boolean supports(Class<?> type)
          Returns whether this transcoder can convert object of the supplied type.
 String toString()
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

logger

protected final org.slf4j.Logger logger
Logger for this class.

Constructor Detail

DefaultReflectionTranscoder

public DefaultReflectionTranscoder(Type type)
Creates a new default reflection transcoder.

Parameters:
type - of object to transcode

DefaultReflectionTranscoder

public DefaultReflectionTranscoder(Type type,
                                   org.ldaptive.io.ValueTranscoder<?> transcoder)
Creates a new default reflection transcoder.

Parameters:
type - of object to transcode
transcoder - custom transcoder for this type
Method Detail

getDefaultSingleValueTranscoders

protected Set<SingleValueReflectionTranscoder<?>> getDefaultSingleValueTranscoders()
Initializes the set of default single value transcoders.

Returns:
single value transcoders

getSingleValueReflectionTranscoder

protected SingleValueReflectionTranscoder getSingleValueReflectionTranscoder(Class<?> type)
Returns the appropriate single value encoder for the supplied type.

Parameters:
type - to provide a single value encoder for
Returns:
single value reflection transcoder

getCollectionEncoder

protected ReflectionTranscoder getCollectionEncoder(Class<?> type,
                                                    Type genericType)
Returns the appropriate collection encoder for the supplied type.

Parameters:
type - to provide a collection encoder for
genericType - of the collection
Returns:
reflection transcoder for a collection

decodeStringValues

public Object decodeStringValues(Collection<String> values)
Decodes the supplied values into an object.

Specified by:
decodeStringValues in interface ReflectionTranscoder
Parameters:
values - to decode
Returns:
object initialized with the values

decodeBinaryValues

public Object decodeBinaryValues(Collection<byte[]> values)
Decodes the supplied values into an object.

Specified by:
decodeBinaryValues in interface ReflectionTranscoder
Parameters:
values - to decode
Returns:
object initialized with the values

encodeStringValues

public Collection<String> encodeStringValues(Object values)
Encodes the supplied value into one or more strings for use in an attribute.

Specified by:
encodeStringValues in interface ReflectionTranscoder
Parameters:
values - containing data to encode as strings
Returns:
string attribute values

encodeBinaryValues

public Collection<byte[]> encodeBinaryValues(Object values)
Encodes the supplied value into one or more byte arrays for use in an attribute.

Specified by:
encodeBinaryValues in interface ReflectionTranscoder
Parameters:
values - containing data to encode as byte arrays
Returns:
binary attribute values

getType

public Class<?> getType()
Returns the type produced by this transcoder.

Specified by:
getType in interface ReflectionTranscoder
Returns:
type produced by this transcoder

supports

public boolean supports(Class<?> type)
Returns whether this transcoder can convert object of the supplied type.

Specified by:
supports in interface ReflectionTranscoder
Parameters:
type - of object
Returns:
whether the supplied type can be converted

toString

public String toString()

Overrides:
toString in class Object


Copyright © 2003-2014 Virginia Tech. All Rights Reserved.