Class ArrayFactory
- java.lang.Object
-
- net.bytebuddy.implementation.bytecode.collection.ArrayFactory
-
- All Implemented Interfaces:
CollectionFactory
@Enhance public class ArrayFactory extends Object implements CollectionFactory
ACollectionFactory
that is capable of creating an array of a given type with any number of given values.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interface
ArrayFactory.ArrayCreator
An array creator is responsible for providing correct byte code instructions for creating an array and for storing values into it.protected class
ArrayFactory.ArrayStackManipulation
A stack manipulation for creating an array as defined by the enclosing array factory.
-
Constructor Summary
Constructors Modifier Constructor Description protected
ArrayFactory(TypeDescription.Generic componentType, ArrayFactory.ArrayCreator arrayCreator)
Creates a new array factory with a givenArrayFactory.ArrayCreator
without inferring the type from the component type.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ArrayFactory
forType(TypeDescription.Generic componentType)
Creates a new array factory for a given component type.TypeDescription.Generic
getComponentType()
The component type of this factory.StackManipulation
withValues(List<? extends StackManipulation> stackManipulations)
Applies this collection factory in order to build a new collection where each element is represented by the given stack manipulations.
-
-
-
Constructor Detail
-
ArrayFactory
protected ArrayFactory(TypeDescription.Generic componentType, ArrayFactory.ArrayCreator arrayCreator)
Creates a new array factory with a givenArrayFactory.ArrayCreator
without inferring the type from the component type. Normally,forType(net.bytebuddy.description.type.TypeDescription.Generic)
should be used.- Parameters:
componentType
- The component type of the array factory.arrayCreator
- The array creator responsible for providing the correct byte code instructions.
-
-
Method Detail
-
forType
public static ArrayFactory forType(TypeDescription.Generic componentType)
Creates a new array factory for a given component type.- Parameters:
componentType
- The component type of the array that is to be build.- Returns:
- A new array factory for the given type.
-
withValues
public StackManipulation withValues(List<? extends StackManipulation> stackManipulations)
Applies this collection factory in order to build a new collection where each element is represented by the given stack manipulations.- Specified by:
withValues
in interfaceCollectionFactory
- Parameters:
stackManipulations
- A list of stack manipulations loading the values to be stored in the collection that is created by this factory in their given order.- Returns:
- A stack manipulation that creates the collection represented by this collection factory.
-
getComponentType
public TypeDescription.Generic getComponentType()
The component type of this factory.- Specified by:
getComponentType
in interfaceCollectionFactory
- Returns:
- A type description of this factory's component type.
-
-