Class SerializerSet.Builder
- Enclosing class:
- SerializerSet
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCreate an empty serializer group builder.protectedBuilder(SerializerSet copyFrom) Clone an existing serializer group.protectedBuilder(SerializerSet.Builder copyFrom) Clone an existing serializer group builder. -
Method Summary
Modifier and TypeMethodDescriptionAdds the specified serializers to this group.add(Serializer... s) Registers the specified serializers with this group.apply(AnnotationWorkList work) Applies the specified annotations to all applicable serializer builders in this group.final SerializerSet.BuilderbeanContext(Consumer<BeanContext.Builder> operation) Applies an operation to the bean context builder.beanContext(BeanContext.Builder value) Associates an existing bean context builder with all serializer builders in this group.protected SerializerSetCreates the bean when the bean type isnull or is the default value.booleancanApply(AnnotationWorkList work) Returnstrue if at least one of the specified annotations can be applied to at least one serializer builder in this group.clear()Clears out any existing serializers in this group.copy()Makes a copy of this builder.<T extends Serializer.Builder>
SerializerSet.BuilderPerforms an action on all serializer builders of the specified type in this group.forEach(Consumer<Serializer.Builder> action) Performs an action on all serializer builders in this group.Performs an action on all output stream serializer builders in this group.forEachWS(Consumer<WriterSerializer.Builder> action) Performs an action on all writer serializer builders in this group.Overrides the bean returned by theBeanBuilder.build()method.inner()Returns direct access to theSerializerandSerializer.Builderobjects in this builder.Sets the specified serializers for this group.toString()Overrides the bean type produced by theBeanBuilder.build()method.
-
Constructor Details
-
Builder
Create an empty serializer group builder.- Parameters:
beanStore- The bean store to use for creating beans.
-
Builder
Clone an existing serializer group builder.Serializer builders will be cloned during this process.
- Parameters:
copyFrom- The serializer group that we're copying settings and serializers from.
-
Builder
Clone an existing serializer group.- Parameters:
copyFrom- The serializer group that we're copying settings and serializers from.
-
-
Method Details
-
add
Adds the specified serializers to this group.Entries are added in-order to the beginning of the list in the group.
The
SerializerSet.NoInheritclass can be used to clear out the existing list of serializers before adding the new entries.Example:
SerializerSet.Builder
builder = SerializerSet.create ();// Create an empty builder. builder .add(FooSerializer.class );// Now contains: [FooSerializer] builder .add(BarSerializer.class , BazSerializer.class );// Now contains: [BarParser,BazSerializer,FooSerializer] builder .add(NoInherit.class , QuxSerializer.class );// Now contains: [QuxSerializer] - Parameters:
values- The serializers to add to this group.- Returns:
- This object.
- Throws:
IllegalArgumentException- If one or more values do not extend fromSerializer.
-
add
Registers the specified serializers with this group.When passing in pre-instantiated serializers to this group, applying properties and transforms to the group do not affect them.
- Parameters:
s- The serializers to append to this group.- Returns:
- This object.
-
apply
Applies the specified annotations to all applicable serializer builders in this group.- Parameters:
work- The annotations to apply.- Returns:
- This object.
-
beanContext
Associates an existing bean context builder with all serializer builders in this group.- Parameters:
value- The bean contest builder to associate.- Returns:
- This object.
-
beanContext
Applies an operation to the bean context builder.- Parameters:
operation- The operation to apply.- Returns:
- This object.
-
canApply
Returnstrue if at least one of the specified annotations can be applied to at least one serializer builder in this group.- Parameters:
work- The work to check.- Returns:
true if at least one of the specified annotations can be applied to at least one serializer builder in this group.
-
clear
Clears out any existing serializers in this group.- Returns:
- This object.
-
copy
Makes a copy of this builder.- Returns:
- A new copy of this builder.
-
forEach
public <T extends Serializer.Builder> SerializerSet.Builder forEach(Class<T> type, Consumer<T> action) Performs an action on all serializer builders of the specified type in this group.- Type Parameters:
T- The serializer builder type.- Parameters:
type- The serializer builder type.action- The action to perform.- Returns:
- This object.
-
forEach
Performs an action on all serializer builders in this group.- Parameters:
action- The action to perform.- Returns:
- This object.
-
forEachOSS
Performs an action on all output stream serializer builders in this group.- Parameters:
action- The action to perform.- Returns:
- This object.
-
forEachWS
Performs an action on all writer serializer builders in this group.- Parameters:
action- The action to perform.- Returns:
- This object.
-
impl
Description copied from class:BeanBuilderOverrides the bean returned by theBeanBuilder.build()method.Use this method if you want this builder to return an already-instantiated bean.
- Overrides:
implin classBeanBuilder<SerializerSet>- Parameters:
value- The setting value.- Returns:
- This object.
-
inner
Returns direct access to theSerializerandSerializer.Builderobjects in this builder.Provided to allow for any extraneous modifications to the list not accomplishable via other methods on this builder such as re-ordering/adding/removing entries.
Note that it is up to the user to ensure that the list only contains
SerializerandSerializer.Builderobjects.- Returns:
- The inner list of entries in this builder.
-
set
Sets the specified serializers for this group.Existing values are overwritten.
The
SerializerSet.Inheritclass can be used to insert existing entries in this group into the position specified.Example:
SerializerSet.Builder
builder = SerializerSet.create ();// Create an empty builder. builder .set(FooSerializer.class );// Now contains: [FooSerializer] builder .set(BarSerializer.class , BazSerializer.class );// Now contains: [BarParser,BazSerializer] builder .set(Inherit.class , QuxSerializer.class );// Now contains: [BarParser,BazSerializer,QuxSerializer] - Parameters:
values- The serializers to set in this group.- Returns:
- This object.
- Throws:
IllegalArgumentException- If one or more values do not extend fromSerializeror named"Inherit" .
-
toString
-
type
Description copied from class:BeanBuilderOverrides the bean type produced by theBeanBuilder.build()method.Use this method if you want to instantiated a bean subclass.
- Overrides:
typein classBeanBuilder<SerializerSet>- Parameters:
value- The setting value.- Returns:
- This object.
-
buildDefault
Description copied from class:BeanBuilderCreates the bean when the bean type isnull or is the default value.- Overrides:
buildDefaultin classBeanBuilder<SerializerSet>- Returns:
- A new bean.
-