net.sf.beanlib.jaxb2
Class Jaxb2ImmutableReplicator

java.lang.Object
  extended by net.sf.beanlib.provider.replicator.ImmutableReplicator
      extended by net.sf.beanlib.jaxb2.Jaxb2ImmutableReplicator
All Implemented Interfaces:
ImmutableReplicatorSpi

public class Jaxb2ImmutableReplicator
extends ImmutableReplicator

Implementation of ImmutableReplicatorSpi with support of Jaxb2 generated enums.

Author:
Hanson Char

Nested Class Summary
static class Jaxb2ImmutableReplicator.Factory
          Factory for Jaxb2ImmutableReplicator.
 
Field Summary
static Jaxb2ImmutableReplicator.Factory factory
           
 
Constructor Summary
protected Jaxb2ImmutableReplicator()
           
 
Method Summary
static Jaxb2ImmutableReplicator newImmutableReplicatable(BeanTransformerSpi beanTransformer)
           
<V,T> T
replicateImmutable(V immutableFrom, Class<T> toClass)
          Returns a replicated immutable object.
private
<V,T> T
toValue(V immutableFrom, Class<T> toClass)
           
 
Methods inherited from class net.sf.beanlib.provider.replicator.ImmutableReplicator
getDefaultPrimitiveValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

factory

public static final Jaxb2ImmutableReplicator.Factory factory
Constructor Detail

Jaxb2ImmutableReplicator

protected Jaxb2ImmutableReplicator()
Method Detail

newImmutableReplicatable

public static Jaxb2ImmutableReplicator newImmutableReplicatable(BeanTransformerSpi beanTransformer)

replicateImmutable

public <V,T> T replicateImmutable(V immutableFrom,
                                  Class<T> toClass)
Description copied from interface: ImmutableReplicatorSpi
Returns a replicated immutable object.

Specified by:
replicateImmutable in interface ImmutableReplicatorSpi
Overrides:
replicateImmutable in class ImmutableReplicator
Type Parameters:
V - source immutable object type
T - target class type
Parameters:
immutableFrom - source immutable object
toClass - target class

toValue

private <V,T> T toValue(V immutableFrom,
                        Class<T> toClass)