org.fudgemsg.mapping
Interface FudgeBuilderFactory

All Known Implementing Classes:
FudgeBuilderFactoryAdapter, FudgeDefaultBuilderFactory

public interface FudgeBuilderFactory

Factory interface for constructing builders for classes that haven't been explicitly registered with a FudgeObjectDictionary. The factory should not attempt to cache results - the FudgeObjectDictionary will do that.


Method Summary
<T> void
addGenericBuilder(Class<T> clazz, FudgeBuilder<T> builder)
          Registers a generic builder with the factory that may be returned as a FudgeObjectBuilder for the class, or as a FudgeMessageBuilder for any sub-classes of the class.
<T> FudgeMessageBuilder<T>
createMessageBuilder(Class<T> clazz)
          Creates a new FudgeMessageBuilder for encoding objects of the given class into Fudge messages.
<T> FudgeObjectBuilder<T>
createObjectBuilder(Class<T> clazz)
          Creates a new FudgeObjectBuilder for deserializing Fudge messages into the given class.
 

Method Detail

createObjectBuilder

<T> FudgeObjectBuilder<T> createObjectBuilder(Class<T> clazz)
Creates a new FudgeObjectBuilder for deserializing Fudge messages into the given class.

Type Parameters:
T - the class the builder should create objects of
Parameters:
clazz - the class the builder should create objects of
Returns:
the builder or null if none is available

createMessageBuilder

<T> FudgeMessageBuilder<T> createMessageBuilder(Class<T> clazz)
Creates a new FudgeMessageBuilder for encoding objects of the given class into Fudge messages.

Type Parameters:
T - the class the builder should create messages from
Parameters:
clazz - the class the builder should create messages from
Returns:
the builder or null if none is available

addGenericBuilder

<T> void addGenericBuilder(Class<T> clazz,
                           FudgeBuilder<T> builder)
Registers a generic builder with the factory that may be returned as a FudgeObjectBuilder for the class, or as a FudgeMessageBuilder for any sub-classes of the class. After calling this, a factory may choose to return an alternative builder, but may not return null for a class which the generic builder has been registered for.

Type Parameters:
T - the generic type (probably an interface) the builder is for
Parameters:
clazz - the generic type (probably an interface) the builder is for
builder - the builder to register


Copyright 2009-Present by OpenGamma Inc. and individual contributors
Released under the Apache License, Version 2.0