@NotThreadSafe public static final class ImmutablePointcutMethod.Builder extends Object
ImmutablePointcutMethod.
Initialize attributes and then invoke the build() method to create an
immutable instance.
Builder is not thread-safe and generally should not be stored in a field or collection,
but instead used immediately to create instances.
| Modifier and Type | Method and Description |
|---|---|
ImmutablePointcutMethod.Builder |
addAllAnnotationTypes(Iterable<? extends org.objectweb.asm.Type> elements)
Adds elements to
annotationTypes set. |
ImmutablePointcutMethod.Builder |
addAnnotationTypes(org.objectweb.asm.Type... elements)
Adds elements to
annotationTypes set. |
ImmutablePointcutMethod.Builder |
addAnnotationTypes(org.objectweb.asm.Type element)
Adds one element to
annotationTypes set. |
ImmutablePointcutMethod.Builder |
annotationTypes(Iterable<? extends org.objectweb.asm.Type> elements)
Sets or replaces all elements for
annotationTypes set. |
ImmutablePointcutMethod |
build()
Builds a new
ImmutablePointcutMethod. |
ImmutablePointcutMethod.Builder |
copyFrom(org.glowroot.agent.weaving.PluginDetail.PointcutMethod instance)
Fill a builder with attribute values from the provided
PointcutMethod instance. |
ImmutablePointcutMethod.Builder |
descriptor(String descriptor)
Initializes the value for the
descriptor attribute. |
ImmutablePointcutMethod.Builder |
name(String name)
Initializes the value for the
name attribute. |
ImmutablePointcutMethod.Builder |
parameterAnnotationTypes(Map<Integer,? extends List<org.objectweb.asm.Type>> entries)
Sets or replaces all mappings from the specified map as entries for the
parameterAnnotationTypes map. |
ImmutablePointcutMethod.Builder |
putAllParameterAnnotationTypes(Map<Integer,? extends List<org.objectweb.asm.Type>> entries)
Put all mappings from the specified map as entries to
parameterAnnotationTypes map. |
ImmutablePointcutMethod.Builder |
putParameterAnnotationTypes(int key,
List<org.objectweb.asm.Type> value)
Put one entry to the
parameterAnnotationTypes map. |
ImmutablePointcutMethod.Builder |
putParameterAnnotationTypes(Map.Entry<Integer,? extends List<org.objectweb.asm.Type>> entry)
Put one entry to the
parameterAnnotationTypes map. |
public final ImmutablePointcutMethod.Builder addAllAnnotationTypes(Iterable<? extends org.objectweb.asm.Type> elements)
annotationTypes set.elements - An iterable of annotationTypes elementsthis builder for use in a chained invocationpublic final ImmutablePointcutMethod.Builder addAnnotationTypes(org.objectweb.asm.Type... elements)
annotationTypes set.elements - An array of annotationTypes elementsthis builder for use in a chained invocationpublic final ImmutablePointcutMethod.Builder addAnnotationTypes(org.objectweb.asm.Type element)
annotationTypes set.element - A annotationTypes elementthis builder for use in a chained invocationpublic final ImmutablePointcutMethod.Builder annotationTypes(Iterable<? extends org.objectweb.asm.Type> elements)
annotationTypes set.elements - An iterable of annotationTypes elementsthis builder for use in a chained invocationpublic ImmutablePointcutMethod build()
ImmutablePointcutMethod.IllegalStateException - if any required attributes are missingpublic final ImmutablePointcutMethod.Builder copyFrom(org.glowroot.agent.weaving.PluginDetail.PointcutMethod instance)
PointcutMethod instance.
Regular attribute values will be replaced with those from the given instance.
Absent optional values will not replace present values.
Collection elements and entries will be added, not replaced.instance - The instance from which to copy valuesthis builder for use in a chained invocationpublic final ImmutablePointcutMethod.Builder descriptor(String descriptor)
descriptor attribute.descriptor - The value for descriptorthis builder for use in a chained invocationpublic final ImmutablePointcutMethod.Builder name(String name)
name attribute.name - The value for namethis builder for use in a chained invocationpublic final ImmutablePointcutMethod.Builder parameterAnnotationTypes(Map<Integer,? extends List<org.objectweb.asm.Type>> entries)
parameterAnnotationTypes map. Nulls are not permittedentries - The entries that will be added to the parameterAnnotationTypes mapthis builder for use in a chained invocationpublic final ImmutablePointcutMethod.Builder putAllParameterAnnotationTypes(Map<Integer,? extends List<org.objectweb.asm.Type>> entries)
parameterAnnotationTypes map. Nulls are not permittedentries - The entries that will be added to the parameterAnnotationTypes mapthis builder for use in a chained invocationpublic final ImmutablePointcutMethod.Builder putParameterAnnotationTypes(int key, List<org.objectweb.asm.Type> value)
parameterAnnotationTypes map.key - The key in the parameterAnnotationTypes mapvalue - The associated value in the parameterAnnotationTypes mapthis builder for use in a chained invocationpublic final ImmutablePointcutMethod.Builder putParameterAnnotationTypes(Map.Entry<Integer,? extends List<org.objectweb.asm.Type>> entry)
parameterAnnotationTypes map. Nulls are not permittedentry - The key and value entrythis builder for use in a chained invocationCopyright © 2011–2020 Glowroot contributors. All rights reserved.