Package org.jboss.marshalling
Class ChainingClassExternalizerFactory
- java.lang.Object
-
- org.jboss.marshalling.ChainingClassExternalizerFactory
-
- All Implemented Interfaces:
ClassExternalizerFactory
public class ChainingClassExternalizerFactory extends java.lang.Object implements ClassExternalizerFactory
A class externalizer factory that tries each delegate externalizer factory in sequence, returning the first match.
-
-
Field Summary
Fields Modifier and Type Field Description private ClassExternalizerFactory[]
externalizerFactories
-
Constructor Summary
Constructors Constructor Description ChainingClassExternalizerFactory(java.lang.Iterable<ClassExternalizerFactory> factories)
Construct a new instance.ChainingClassExternalizerFactory(java.util.Collection<ClassExternalizerFactory> factories)
Construct a new instance.ChainingClassExternalizerFactory(java.util.Iterator<ClassExternalizerFactory> factories)
Construct a new instance.ChainingClassExternalizerFactory(ClassExternalizerFactory[] factories)
Construct a new instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Externalizer
getExternalizer(java.lang.Class<?> type)
Look up a custom externalizer for a given object class.private static ClassExternalizerFactory[]
unroll(java.util.Iterator<ClassExternalizerFactory> iterator, int i)
-
-
-
Field Detail
-
externalizerFactories
private final ClassExternalizerFactory[] externalizerFactories
-
-
Constructor Detail
-
ChainingClassExternalizerFactory
public ChainingClassExternalizerFactory(java.util.Collection<ClassExternalizerFactory> factories)
Construct a new instance.- Parameters:
factories
- a collection of factories to use
-
ChainingClassExternalizerFactory
public ChainingClassExternalizerFactory(java.lang.Iterable<ClassExternalizerFactory> factories)
Construct a new instance.- Parameters:
factories
- a collection of factories to use
-
ChainingClassExternalizerFactory
public ChainingClassExternalizerFactory(java.util.Iterator<ClassExternalizerFactory> factories)
Construct a new instance.- Parameters:
factories
- a sequence of factories to use
-
ChainingClassExternalizerFactory
public ChainingClassExternalizerFactory(ClassExternalizerFactory[] factories)
Construct a new instance.- Parameters:
factories
- an array of factories to use
-
-
Method Detail
-
unroll
private static ClassExternalizerFactory[] unroll(java.util.Iterator<ClassExternalizerFactory> iterator, int i)
-
getExternalizer
public Externalizer getExternalizer(java.lang.Class<?> type)
Look up a custom externalizer for a given object class. If no such externalizer exists, returnsnull
. This implementation tries each nested externalizer factory in order until a match is found.- Specified by:
getExternalizer
in interfaceClassExternalizerFactory
- Parameters:
type
- the type to be externalized- Returns:
- the externalizer, or
null
if there is none
-
-