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,
MethodInfo createBuilderMethod,
MethodInfo 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, MethodInfo createBuilderMethod, MethodInfo 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 ExecutableException
session - The current bean session.hint - A hint about the class type.ExecutableException - Exception occurred on invoked constructor/method/field.public T build(BeanSession session, B builder, ClassMeta<?> hint) throws ExecutableException
session - The current bean session.builder - The POJO builder.hint - A hint about the class type.ExecutableException - Exception occurred on invoked constructor/method/field.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 © 2016–2019 The Apache Software Foundation. All rights reserved.