Class ImmutableProjectInputListing.Builder
java.lang.Object
io.github.ascopes.protobufmavenplugin.sources.ImmutableProjectInputListing.Builder
- Enclosing class:
ImmutableProjectInputListing
Builds instances of type
ImmutableProjectInputListing
.
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.
-
Method Summary
Modifier and TypeMethodDescriptionbuild()
Builds a newImmutableProjectInputListing
.compilableDescriptorFiles
(Collection<DescriptorListing> compilableDescriptorFiles) Initializes the value for thecompilableDescriptorFiles
attribute.compilableProtoSources
(Collection<SourceListing> compilableProtoSources) Initializes the value for thecompilableProtoSources
attribute.dependencyProtoSources
(Collection<SourceListing> dependencyProtoSources) Initializes the value for thedependencyProtoSources
attribute.from
(ProjectInputListing instance) Fill a builder with attribute values from the providedProjectInputListing
instance.
-
Method Details
-
from
Fill a builder with attribute values from the providedProjectInputListing
instance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values.- Parameters:
instance
- The instance from which to copy values- Returns:
this
builder for use in a chained invocation
-
compilableProtoSources
public final ImmutableProjectInputListing.Builder compilableProtoSources(Collection<SourceListing> compilableProtoSources) Initializes the value for thecompilableProtoSources
attribute.- Parameters:
compilableProtoSources
- The value for compilableProtoSources (can benull
)- Returns:
this
builder for use in a chained invocation
-
dependencyProtoSources
public final ImmutableProjectInputListing.Builder dependencyProtoSources(Collection<SourceListing> dependencyProtoSources) Initializes the value for thedependencyProtoSources
attribute.- Parameters:
dependencyProtoSources
- The value for dependencyProtoSources (can benull
)- Returns:
this
builder for use in a chained invocation
-
compilableDescriptorFiles
public final ImmutableProjectInputListing.Builder compilableDescriptorFiles(Collection<DescriptorListing> compilableDescriptorFiles) Initializes the value for thecompilableDescriptorFiles
attribute.- Parameters:
compilableDescriptorFiles
- The value for compilableDescriptorFiles (can benull
)- Returns:
this
builder for use in a chained invocation
-
build
Builds a newImmutableProjectInputListing
.- Returns:
- An immutable instance of ProjectInputListing
- Throws:
IllegalStateException
- if any required attributes are missing
-