@NotThreadSafe public static final class ImmutablePluginDescriptor.Builder extends Object
ImmutablePluginDescriptor.
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.
public final ImmutablePluginDescriptor.Builder addAllAspects(Iterable<String> elements)
aspects list.elements - An iterable of aspects elementsthis builder for use in a chained invocationpublic final ImmutablePluginDescriptor.Builder addAllInstrumentationConfigs(Iterable<? extends InstrumentationConfig> elements)
instrumentationConfigs list.elements - An iterable of instrumentationConfigs elementsthis builder for use in a chained invocationpublic final ImmutablePluginDescriptor.Builder addAllProperties(Iterable<? extends PropertyDescriptor> elements)
properties list.elements - An iterable of properties elementsthis builder for use in a chained invocationpublic final ImmutablePluginDescriptor.Builder addAspects(String... elements)
aspects list.elements - An array of aspects elementsthis builder for use in a chained invocationpublic final ImmutablePluginDescriptor.Builder addAspects(String element)
aspects list.element - A aspects elementthis builder for use in a chained invocationpublic final ImmutablePluginDescriptor.Builder addInstrumentationConfigs(InstrumentationConfig... elements)
instrumentationConfigs list.elements - An array of instrumentationConfigs elementsthis builder for use in a chained invocationpublic final ImmutablePluginDescriptor.Builder addInstrumentationConfigs(InstrumentationConfig element)
instrumentationConfigs list.element - A instrumentationConfigs elementthis builder for use in a chained invocationpublic final ImmutablePluginDescriptor.Builder addProperties(PropertyDescriptor... elements)
properties list.elements - An array of properties elementsthis builder for use in a chained invocationpublic final ImmutablePluginDescriptor.Builder addProperties(PropertyDescriptor element)
properties list.element - A properties elementthis builder for use in a chained invocationpublic final ImmutablePluginDescriptor.Builder aspects(Iterable<String> elements)
aspects list.elements - An iterable of aspects elementsthis builder for use in a chained invocationpublic ImmutablePluginDescriptor build()
ImmutablePluginDescriptor.IllegalStateException - if any required attributes are missingpublic final ImmutablePluginDescriptor.Builder collocate(boolean collocate)
collocate attribute.
If not set, this attribute will have a default value as returned by the initializer of collocate.
collocate - The value for collocatethis builder for use in a chained invocationpublic final ImmutablePluginDescriptor.Builder copyFrom(PluginDescriptor instance)
PluginDescriptor 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 ImmutablePluginDescriptor.Builder id(String id)
id attribute.id - The value for idthis builder for use in a chained invocationpublic final ImmutablePluginDescriptor.Builder instrumentationConfigs(Iterable<? extends InstrumentationConfig> elements)
instrumentationConfigs list.elements - An iterable of instrumentationConfigs elementsthis builder for use in a chained invocationpublic final ImmutablePluginDescriptor.Builder name(String name)
name attribute.name - The value for namethis builder for use in a chained invocationpublic final ImmutablePluginDescriptor.Builder pluginJar(@Nullable File pluginJar)
pluginJar attribute.pluginJar - The value for pluginJar (can be null)this builder for use in a chained invocationpublic final ImmutablePluginDescriptor.Builder properties(Iterable<? extends PropertyDescriptor> elements)
properties list.elements - An iterable of properties elementsthis builder for use in a chained invocationCopyright © 2011–2020 Glowroot contributors. All rights reserved.