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
Fields Modifier and Type Field Description protected java.lang.Object
defaultValue
The field's default value ornull
if no value is to be defined.protected FieldAttributeAppender.Factory
fieldAttributeAppenderFactory
The field attribute appender factory to apply.protected Transformer<FieldDescription>
transformer
The field transformer to apply.
-
Constructor Summary
Constructors Modifier Constructor Description protected
Adapter(FieldAttributeAppender.Factory fieldAttributeAppenderFactory, Transformer<FieldDescription> transformer, java.lang.Object defaultValue)
Creates a new field adapter.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description DynamicType.Builder.FieldDefinition.Optional<V>
attribute(FieldAttributeAppender.Factory fieldAttributeAppenderFactory)
Applies the supplied attribute appender factory onto the previously defined or matched field.protected DynamicType.Builder.FieldDefinition.Optional<V>
defaultValue(java.lang.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, java.lang.Object defaultValue)
Creates a new optional field definition for which all of the supplied values are represented.DynamicType.Builder.FieldDefinition.Optional<V>
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 Detail
-
fieldAttributeAppenderFactory
protected final FieldAttributeAppender.Factory fieldAttributeAppenderFactory
The field attribute appender factory to apply.
-
transformer
protected final Transformer<FieldDescription> transformer
The field transformer to apply.
-
defaultValue
@ValueHandling(REVERSE_NULLABILITY) protected final java.lang.Object defaultValue
The field's default value ornull
if no value is to be defined.
-
-
Constructor Detail
-
Adapter
protected Adapter(FieldAttributeAppender.Factory fieldAttributeAppenderFactory, Transformer<FieldDescription> transformer, java.lang.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 Detail
-
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
protected DynamicType.Builder.FieldDefinition.Optional<V> defaultValue(java.lang.Object 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, java.lang.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.
-
-