Class ImmutableMavenProtocPlugin
java.lang.Object
io.github.ascopes.protobufmavenplugin.plugins.ImmutableMavenProtocPlugin
- All Implemented Interfaces:
MavenArtifact
,MavenProtocPlugin
,ProtocPlugin
@Generated("org.immutables.processor.ProxyProcessor")
public final class ImmutableMavenProtocPlugin
extends Object
implements MavenProtocPlugin
Immutable implementation of
MavenProtocPlugin
.
Use the builder to create immutable instances:
ImmutableMavenProtocPlugin.builder()
.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
Builds instances of typeImmutableMavenProtocPlugin
. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()
Creates a builder forImmutableMavenProtocPlugin
.boolean
This instance is equal to all instances ofImmutableMavenProtocPlugin
that have equal attribute values.Get the artifact ID.@Nullable String
Get the artifact classifier.Get the group ID.Get the command line arguments to pass to the JVM.Get the arguments to pass to the JVM to configure it.@Nullable String
The main class entrypoint to use if the plugin is not an assembled JAR.@Nullable String
int
getOrder()
@Nullable Path
@Nullable String
getType()
Get the artifact type.@NonNull String
Get the version of theprotoc
plugin.int
hashCode()
Computes a hash code from attributes:groupId
,artifactId
,type
,classifier
,options
,outputDirectory
,registerAsCompilationRoot
,order
,skip
,version
,jvmArgs
,jvmConfigArgs
,mainClass
.@Nullable Boolean
boolean
isSkip()
toString()
Prints the immutable valueMavenProtocPlugin
with attribute values.
-
Method Details
-
getGroupId
Get the group ID.- Specified by:
getGroupId
in interfaceMavenArtifact
- Returns:
- the group ID.
-
getArtifactId
Get the artifact ID.- Specified by:
getArtifactId
in interfaceMavenArtifact
- Returns:
- the artifact ID.
-
getType
Get the artifact type.May be
null
if the default should be used.- Specified by:
getType
in interfaceMavenArtifact
- Returns:
- the artifact type.
-
getClassifier
Get the artifact classifier.May be
null
if no classifier is set.- Specified by:
getClassifier
in interfaceMavenArtifact
- Returns:
- the artifact classifier.
-
getOptions
- Specified by:
getOptions
in interfaceProtocPlugin
- Returns:
- The value of the
options
attribute
-
getOutputDirectory
- Specified by:
getOutputDirectory
in interfaceProtocPlugin
- Returns:
- The value of the
outputDirectory
attribute
-
isRegisterAsCompilationRoot
- Specified by:
isRegisterAsCompilationRoot
in interfaceProtocPlugin
- Returns:
- The value of the
registerAsCompilationRoot
attribute
-
getOrder
public int getOrder()- Specified by:
getOrder
in interfaceProtocPlugin
- Returns:
- The value of the
order
attribute
-
isSkip
public boolean isSkip()- Specified by:
isSkip
in interfaceProtocPlugin
- Returns:
- The value of the
skip
attribute
-
getVersion
Get the version of theprotoc
plugin.This must be specified for plugins. The use of
<dependencyManagement/>
is ignored here.- Specified by:
getVersion
in interfaceMavenArtifact
- Specified by:
getVersion
in interfaceMavenProtocPlugin
- Returns:
- the protoc plugin version to use.
-
getJvmArgs
Get the command line arguments to pass to the JVM.This defaults to an empty list.
- Specified by:
getJvmArgs
in interfaceMavenProtocPlugin
- Returns:
- the list of command line arguments to pass to the JVM.
- Since:
- 2.6.0
-
getJvmConfigArgs
Get the arguments to pass to the JVM to configure it.Users can use this to control concerns such as heap memory controls, GC and JIT settings, and specifying additional JVM options.
- Specified by:
getJvmConfigArgs
in interfaceMavenProtocPlugin
- Returns:
- the list of command line arguments to pass to the JVM.
- Since:
- 2.6.0
-
getMainClass
The main class entrypoint to use if the plugin is not an assembled JAR.Ignored in all other cases.
- Specified by:
getMainClass
in interfaceMavenProtocPlugin
- Returns:
- the main class name.
- Since:
- 2.5.0
-
equals
-
hashCode
-
toString
-
builder
Creates a builder forImmutableMavenProtocPlugin
.ImmutableMavenProtocPlugin.builder() .groupId(String | null) // nullable
groupId
.artifactId(String | null) // nullableartifactId
.type(@org.jspecify.annotations.Nullable String | null) // nullabletype
.classifier(@org.jspecify.annotations.Nullable String | null) // nullableclassifier
.options(@org.jspecify.annotations.Nullable String | null) // nullableoptions
.outputDirectory(java.nio.file.@org.jspecify.annotations.Nullable Path | null) // nullableoutputDirectory
.registerAsCompilationRoot(@org.jspecify.annotations.Nullable Boolean | null) // nullableregisterAsCompilationRoot
.order(int) // optionalorder
.skip(boolean) // optionalskip
.version(@org.jspecify.annotations.NonNull String | null) // nullableversion
.jvmArgs(@org.jspecify.annotations.Nullable List<String> | null) // nullablejvmArgs
.jvmConfigArgs(@org.jspecify.annotations.Nullable List<String> | null) // nullablejvmConfigArgs
.mainClass(@org.jspecify.annotations.Nullable String | null) // nullablemainClass
.build();- Returns:
- A new ImmutableMavenProtocPlugin builder
-