Class ParserSet.Builder
- All Implemented Interfaces:
BeanStoreOverridable<ParserSet.Builder>
- Enclosing class:
- ParserSet
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionAdds the specified parsers to this group.Registers the specified parsers with this group.apply(AnnotationWorkList work) Applies the specified annotations to all applicable parser builders in this group.Returns the bean store used by this builder.build()Builds the parser set.booleancanApply(AnnotationWorkList work) Returnstrue if at least one of the specified annotations can be applied to at least one parser builder in this group.clear()Clears out any existing parsers in this group.copy()Makes a copy of this builder.<B extends Parser.Builder<?>>
ParserSet.BuilderPerforms an action on all parser builders of the specified type in this group.forEach(Consumer<Parser.Builder<?>> action) Performs an action on all parser builders in this group.forEachISP(Consumer<InputStreamParser.Builder<?>> action) Performs an action on all output stream parser builders in this group.forEachRP(Consumer<ReaderParser.Builder<?>> action) Performs an action on all writer parser builders in this group.Overrides the bean returned by thebuild()method with a pre-built instance.inner()Returns direct access to theParserandParser.Builderobjects in this builder.final ParserSet.BuildermarshallingContext(Consumer<MarshallingContext.Builder> operation) Applies an operation to the bean context builder.Associates an existing bean context builder with all parser builders in this group.overridingBeanStore(BeanStore store) Installs the suppliedBeanStoreas theoverridingParentof this builder's bean store.Sets the specified parsers for this group.toString()
-
Constructor Details
-
Builder
Create an empty parser group builder.- Parameters:
beanStore- The bean store to use for creating beans.
-
Builder
Clone an existing parser group builder.Parser builders will be cloned during this process.
- Parameters:
copyFrom- The parser group that we're copying settings and parsers from.
Cannot benull .
-
Builder
Clone an existing parser group.- Parameters:
copyFrom- The parser group that we're copying settings and parsers from.
Cannot benull .
-
-
Method Details
-
beanStore
Returns the bean store used by this builder.- Returns:
- The bean store used by this builder.
-
overridingBeanStore
Installs the suppliedBeanStoreas theoverridingParentof this builder's bean store.Wraps the current
beanStore()in a freshBasicBeanStorewhoseoverridingParentis the supplied store, so test-time overrides win over the builder's regular bean lookups during construction-time reflective injection. Passingnullis a no-op.- Specified by:
overridingBeanStorein interfaceBeanStoreOverridable<ParserSet.Builder>- Parameters:
store- The override layer. Can benull (no-op).- Returns:
- This object.
- Since:
- 10.0.0
-
add
Adds the specified parsers to this group.Entries are added in-order to the beginning of the list in the group.
The
ParserSet.NoInheritclass can be used to clear out the existing list of parsers before adding the new entries.Example:
ParserSet.Builder
builder = ParserSet.create ();// Create an empty builder. builder .add(FooParser.class );// Now contains: [FooParser] builder .add(BarParser.class , BazParser.class );// Now contains: [BarParser,BazParser,FooParser] builder .add(NoInherit.class , QuxParser.class );// Now contains: [QuxParser] - Parameters:
values- The parsers to add to this group.- Returns:
- This object.
- Throws:
IllegalArgumentException- If one or more values do not extend fromParser.
-
add
Registers the specified parsers with this group.When passing in pre-instantiated parsers to this group, applying properties and transforms to the group do not affect them.
- Parameters:
s- The parsers to append to this group.- Returns:
- This object.
-
apply
Applies the specified annotations to all applicable parser builders in this group.- Parameters:
work- The annotations to apply.- Returns:
- This object.
-
marshallingContext
Associates an existing bean context builder with all parser builders in this group.- Parameters:
value- The bean context builder to associate.
Can benull (clears any previously-associated bean context builder).- Returns:
- This object.
-
marshallingContext
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 parser 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 parser builder in this group.
-
clear
Clears out any existing parsers in this group.- Returns:
- This object.
-
copy
Makes a copy of this builder.- Returns:
- A new copy of this builder.
-
forEach
Performs an action on all parser builders of the specified type in this group.- Type Parameters:
B- The parser builder type.- Parameters:
type- The parser builder type.action- The action to perform.- Returns:
- This object.
-
forEach
Performs an action on all parser builders in this group.- Parameters:
action- The action to perform.- Returns:
- This object.
-
forEachISP
Performs an action on all output stream parser builders in this group.- Parameters:
action- The action to perform.- Returns:
- This object.
-
forEachRP
Performs an action on all writer parser builders in this group.- Parameters:
action- The action to perform.- Returns:
- This object.
-
impl
Overrides the bean returned by thebuild()method with a pre-built instance.- Parameters:
value- The pre-built instance.
Can benull (clears the override;build()constructs a new instance).- Returns:
- This object.
-
inner
Returns direct access to theParserandParser.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
ParserandParser.Builderobjects.- Returns:
- The inner list of entries in this builder.
-
set
Sets the specified parsers for this group.Existing values are overwritten.
The
ParserSet.Inheritclass can be used to insert existing entries in this group into the position specified.Example:
ParserSet.Builder
builder = ParserSet.create ();// Create an empty builder. builder .set(FooParser.class );// Now contains: [FooParser] builder .set(BarParser.class , BazParser.class );// Now contains: [BarParser,BazParser] builder .set(Inherit.class , QuxParser.class );// Now contains: [BarParser,BazParser,QuxParser] - Parameters:
values- The parsers to set in this group.- Returns:
- This object.
- Throws:
IllegalArgumentException- If one or more values do not extend fromParseror named"Inherit" .
-
toString
-
build
Builds the parser set.- Returns:
- A new
ParserSet.
-