Package org.instancio.internal.selectors
Class TypeSelectorBuilderImpl
java.lang.Object
org.instancio.internal.selectors.TypeSelectorBuilderImpl
- All Implemented Interfaces:
DepthPredicateSelector
,DepthSelector
,SelectorBuilder
,TargetSelector
,TypeSelectorBuilder
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected final void
addPredicate
(Predicate<Class<?>> predicate) <A extends Annotation>
TypeSelectorBuilderMatches types annotated with the specified annotation, ignoring inherited annotations.protected String
final TargetSelector
atDepth
(int depth) Restricts this selector's target(s) to the specified depth.final TargetSelector
Restricts this selector's target(s) to a depth that satisfies the givenpredicate
.final PredicateSelector
build()
Builds a selector.protected PredicateSelectorImpl.Builder
protected final StringBuilder
Excludes specified class from matching.Matches specified type, including subtypes.final String
toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.instancio.TypeSelectorBuilder
atDepth, atDepth
-
Constructor Details
-
TypeSelectorBuilderImpl
public TypeSelectorBuilderImpl()
-
-
Method Details
-
apiMethod
-
createBuilder
-
of
Description copied from interface:TypeSelectorBuilder
Matches specified type, including subtypes. For example, selecting typesof(Collection.class
} will matchList
,Set
, etc.- Specified by:
of
in interfaceTypeSelectorBuilder
- Parameters:
type
- to match- Returns:
- selector builder
-
annotated
Description copied from interface:TypeSelectorBuilder
Matches types annotated with the specified annotation, ignoring inherited annotations.Note: this method only matches annotations declared on classes. To select annotated fields, use
FieldSelectorBuilder.annotated(Class)
.The method can be chained to require multiple annotations.
- Specified by:
annotated
in interfaceTypeSelectorBuilder
- Type Parameters:
A
- annotation type- Parameters:
annotation
- declared annotation to match- Returns:
- selector builder
-
excluding
Description copied from interface:TypeSelectorBuilder
Excludes specified class from matching.The method can be chained to exclude multiple types.
- Specified by:
excluding
in interfaceTypeSelectorBuilder
- Parameters:
type
- type to exclude- Returns:
- selector builder
-
addPredicate
-
description
-
atDepth
Description copied from interface:DepthSelector
Restricts this selector's target(s) to the specified depth.- Specified by:
atDepth
in interfaceDepthSelector
- Parameters:
depth
- the depth at which selector applies- Returns:
- selector restricted to the specified depth
-
atDepth
Description copied from interface:DepthPredicateSelector
Restricts this selector's target(s) to a depth that satisfies the givenpredicate
.- Specified by:
atDepth
in interfaceDepthPredicateSelector
- Parameters:
predicate
- specifying the depth- Returns:
- selector restricted to the specified depth
-
buildPredicate
-
build
Description copied from interface:SelectorBuilder
Builds a selector.- Specified by:
build
in interfaceSelectorBuilder
- Returns:
- created selector instance
-
toString
-