T
- The bean class.B
- The builder class.public class BuilderSwap<T,B> extends Object
Modifier | Constructor and Description |
---|---|
protected |
BuilderSwap(Class<T> pojoClass,
Class<B> builderClass,
Constructor<T> pojoConstructor,
Constructor<B> builderConstructor,
Method createBuilderMethod,
Method createPojoMethod)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
T |
build(BeanSession session,
B builder,
ClassMeta<?> hint)
Creates a new POJO from the specified builder.
|
B |
create(BeanSession session,
ClassMeta<?> hint)
Creates a new builder object.
|
static BuilderSwap<?,?> |
findSwapFromBuilderClass(Class<?> builderClass,
Visibility cVis,
Visibility mVis)
Creates a BuilderSwap from the specified builder class if it qualifies as one.
|
static BuilderSwap<?,?> |
findSwapFromPojoClass(Class<?> pojoClass,
Visibility cVis,
Visibility mVis)
Creates a BuilderSwap from the specified POJO class if it has one.
|
Class<B> |
getBuilderClass()
The builder class.
|
ClassMeta<?> |
getBuilderClassMeta(BeanSession session)
Returns the
ClassMeta of the transformed class type. |
Class<T> |
getPojoClass()
The POJO class.
|
protected BuilderSwap(Class<T> pojoClass, Class<B> builderClass, Constructor<T> pojoConstructor, Constructor<B> builderConstructor, Method createBuilderMethod, Method createPojoMethod)
pojoClass
- The POJO class created by the builder class.builderClass
- The builder class.pojoConstructor
- The POJO constructor that takes in a builder as a parameter.builderConstructor
- The builder no-arg constructor.createBuilderMethod
- The static create() method on the POJO class.createPojoMethod
- The build() method on the builder class.public Class<T> getPojoClass()
public Class<B> getBuilderClass()
public ClassMeta<?> getBuilderClassMeta(BeanSession session)
ClassMeta
of the transformed class type.
This value is cached for quick lookup.
session
- The bean context to use to get the class meta.
This is always going to be the same bean context that created this swap.ClassMeta
of the transformed class type.public B create(BeanSession session, ClassMeta<?> hint) throws Exception
session
- The current bean session.hint
- A hint about the class type.Exception
public T build(BeanSession session, B builder, ClassMeta<?> hint) throws Exception
session
- The current bean session.builder
- The POJO builder.hint
- A hint about the class type.Exception
public static BuilderSwap<?,?> findSwapFromBuilderClass(Class<?> builderClass, Visibility cVis, Visibility mVis)
builderClass
- The potential builder class.cVis
- Minimum constructor visibility.mVis
- Minimum method visibility.public static BuilderSwap<?,?> findSwapFromPojoClass(Class<?> pojoClass, Visibility cVis, Visibility mVis)
pojoClass
- The POJO class to check.cVis
- Minimum constructor visibility.mVis
- Minimum method visibility.Copyright © 2018 Apache. All rights reserved.