Package net.bytebuddy.dynamic
Class DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase.Adapter<V>
java.lang.Object
net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase<U>
net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Delegator<U>
net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.AbstractBase<U>
net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase<V>
net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase.Adapter<V>
- Type Parameters:
V
- A loaded type that the built type is guaranteed to be a subclass of.
- All Implemented Interfaces:
DynamicType.Builder<V>
,DynamicType.Builder.FieldDefinition<V>
,DynamicType.Builder.FieldDefinition.Optional<V>
,DynamicType.Builder.FieldDefinition.Optional.Valuable<V>
,DynamicType.Builder.FieldDefinition.Valuable<V>
- Direct Known Subclasses:
DynamicType.Builder.AbstractBase.Adapter.FieldDefinitionAdapter
,DynamicType.Builder.AbstractBase.Adapter.FieldMatchAdapter
- Enclosing class:
- DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase<U>
@Enhance
private abstract static class DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase.Adapter<V>
extends DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase<V>
An adapter for an optional field definition that allows for defining a value.
-
Nested Class Summary
Nested classes/interfaces inherited from class net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase
DynamicType.Builder.AbstractBase.Delegator<U>
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.DynamicType.Builder
DynamicType.Builder.AbstractBase<S>, DynamicType.Builder.FieldDefinition<S>, DynamicType.Builder.InnerTypeDefinition<S>, DynamicType.Builder.MethodDefinition<S>, DynamicType.Builder.RecordComponentDefinition<S>, DynamicType.Builder.TypeVariableDefinition<S>
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition
DynamicType.Builder.FieldDefinition.Optional<U>, DynamicType.Builder.FieldDefinition.Valuable<U>
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional
DynamicType.Builder.FieldDefinition.Optional.AbstractBase<U>, DynamicType.Builder.FieldDefinition.Optional.Valuable<V>
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.Valuable
DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase<U>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Object
The field's default value ornull
if no value is to be defined.protected final FieldAttributeAppender.Factory
The field attribute appender factory to apply.protected final Transformer<FieldDescription>
The field transformer to apply. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Adapter
(FieldAttributeAppender.Factory fieldAttributeAppenderFactory, Transformer<FieldDescription> transformer, Object defaultValue) Creates a new field adapter. -
Method Summary
Modifier and TypeMethodDescriptionattribute
(FieldAttributeAppender.Factory fieldAttributeAppenderFactory) Applies the supplied attribute appender factory onto the previously defined or matched field.protected DynamicType.Builder.FieldDefinition.Optional<V>
defaultValue
(Object defaultValue) Defines the supplied value as a default value of the previously defined or matched field.protected abstract DynamicType.Builder.FieldDefinition.Optional<V>
materialize
(FieldAttributeAppender.Factory fieldAttributeAppenderFactory, Transformer<FieldDescription> transformer, Object defaultValue) Creates a new optional field definition for which all of the supplied values are represented.transform
(Transformer<FieldDescription> transformer) Applies the supplied transformer onto the previously defined or matched field.Methods inherited from class net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase
value, value, value, value, value, value
Methods inherited from class net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.AbstractBase
annotateField, annotateField, annotateField
Methods inherited from class net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Delegator
annotateType, attribute, declaredTypes, define, defineConstructor, defineField, defineMethod, defineRecordComponent, field, ignoreAlso, ignoreAlso, implement, initializer, initializer, innerTypeOf, innerTypeOf, invokable, make, make, make, make, materialize, merge, modifiers, name, nestHost, nestMembers, permittedSubclass, recordComponent, recordComponent, require, suffix, topLevelType, toTypeDescription, transform, typeVariable, unsealed, visit
Methods inherited from class net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase
annotateType, annotateType, annotateType, constructor, declaredTypes, declaredTypes, declaredTypes, define, define, define, define, define, defineConstructor, defineConstructor, defineField, defineField, defineField, defineField, defineField, defineMethod, defineMethod, defineMethod, defineMethod, defineMethod, defineProperty, defineProperty, defineProperty, defineProperty, defineRecordComponent, field, implement, implement, implement, innerTypeOf, innerTypeOf, innerTypeOf, invokable, merge, method, modifiers, modifiers, nestHost, nestMembers, nestMembers, nestMembers, noNestMate, permittedSubclass, permittedSubclass, permittedSubclass, require, require, require, serialVersionUid, typeVariable, typeVariable, typeVariable, typeVariable, withHashCodeEquals, withToString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.bytebuddy.dynamic.DynamicType.Builder
annotateType, annotateType, annotateType, annotateType, attribute, constructor, declaredTypes, declaredTypes, declaredTypes, declaredTypes, define, define, define, define, define, define, defineConstructor, defineConstructor, defineConstructor, defineField, defineField, defineField, defineField, defineField, defineField, defineMethod, defineMethod, defineMethod, defineMethod, defineMethod, defineMethod, defineProperty, defineProperty, defineProperty, defineProperty, defineRecordComponent, defineRecordComponent, field, field, ignoreAlso, ignoreAlso, implement, implement, implement, implement, initializer, initializer, innerTypeOf, innerTypeOf, innerTypeOf, innerTypeOf, innerTypeOf, invokable, invokable, make, make, make, make, merge, merge, method, modifiers, modifiers, modifiers, name, nestHost, nestHost, nestMembers, nestMembers, nestMembers, nestMembers, noNestMate, permittedSubclass, permittedSubclass, permittedSubclass, permittedSubclass, recordComponent, recordComponent, require, require, require, require, serialVersionUid, suffix, topLevelType, toTypeDescription, transform, typeVariable, typeVariable, typeVariable, typeVariable, typeVariable, unsealed, visit, withHashCodeEquals, withToString
Methods inherited from interface net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition
annotateField, annotateField, annotateField, annotateField
-
Field Details
-
fieldAttributeAppenderFactory
The field attribute appender factory to apply. -
transformer
The field transformer to apply. -
defaultValue
The field's default value ornull
if no value is to be defined.
-
-
Constructor Details
-
Adapter
protected Adapter(FieldAttributeAppender.Factory fieldAttributeAppenderFactory, Transformer<FieldDescription> transformer, @MaybeNull Object defaultValue) Creates a new field adapter.- Parameters:
fieldAttributeAppenderFactory
- The field attribute appender factory to apply.transformer
- The field transformer to apply.defaultValue
- The field's default value ornull
if no value is to be defined.
-
-
Method Details
-
attribute
public DynamicType.Builder.FieldDefinition.Optional<V> attribute(FieldAttributeAppender.Factory fieldAttributeAppenderFactory) Applies the supplied attribute appender factory onto the previously defined or matched field.- Parameters:
fieldAttributeAppenderFactory
- The field attribute appender factory that should be applied on the previously defined or matched field.- Returns:
- A new builder that is equal to this builder but with the supplied field attribute appender factory applied to the previously defined or matched field.
-
transform
public DynamicType.Builder.FieldDefinition.Optional<V> transform(Transformer<FieldDescription> transformer) Applies the supplied transformer onto the previously defined or matched field. The transformed field is written as it is and it not subject to any validations.- Parameters:
transformer
- The transformer to apply to the previously defined or matched field.- Returns:
- A new builder that is equal to this builder but with the supplied field transformer applied to the previously defined or matched field.
-
defaultValue
Description copied from class:DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase
Defines the supplied value as a default value of the previously defined or matched field.- Specified by:
defaultValue
in classDynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase<V>
- Parameters:
defaultValue
- The value to define as a default value of the defined field.- Returns:
- A new builder that is equal to this builder but with the given default value declared for the previously defined or matched field.
-
materialize
protected abstract DynamicType.Builder.FieldDefinition.Optional<V> materialize(FieldAttributeAppender.Factory fieldAttributeAppenderFactory, Transformer<FieldDescription> transformer, @MaybeNull Object defaultValue) Creates a new optional field definition for which all of the supplied values are represented.- Parameters:
fieldAttributeAppenderFactory
- The field attribute appender factory to apply.transformer
- The field transformer to apply.defaultValue
- The field's default value ornull
if no value is to be defined.- Returns:
- A new field definition that represents the supplied values.
-