Record Class MavenCoordinate

java.lang.Object
java.lang.Record
net.neoforged.fml.loading.MavenCoordinate

public record MavenCoordinate(String groupId, String artifactId, String extension, String classifier, String version) extends Record
Models the Maven coordinates for an artifact.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final String
    The field for the artifactId record component.
    private final String
    The field for the classifier record component.
    private final String
    The field for the extension record component.
    private final String
    The field for the groupId record component.
    private final String
    The field for the version record component.
  • Constructor Summary

    Constructors
    Constructor
    Description
    MavenCoordinate(String groupId, String artifactId, String extension, String classifier, String version)
    Creates an instance of a MavenCoordinate record class.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the value of the artifactId record component.
    Returns the value of the classifier record component.
    final boolean
    Indicates whether some other object is "equal to" this one.
    Returns the value of the extension record component.
    Returns the value of the groupId record component.
    final int
    Returns a hash code value for this object.
    parse(String coordinate)
    Valid forms: groupId:artifactId:version groupId:artifactId:version:classifier groupId:artifactId:version:classifier@extension groupId:artifactId:version@extension
    Constructs a path relative to the root of a Maven repository pointing to the artifact expressed through these coordinates.
    Returns a string representation of this record class.
    Returns the value of the version record component.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • groupId

      private final String groupId
      The field for the groupId record component.
    • artifactId

      private final String artifactId
      The field for the artifactId record component.
    • extension

      private final String extension
      The field for the extension record component.
    • classifier

      private final String classifier
      The field for the classifier record component.
    • version

      private final String version
      The field for the version record component.
  • Constructor Details

    • MavenCoordinate

      public MavenCoordinate(String groupId, String artifactId, String extension, String classifier, String version)
      Creates an instance of a MavenCoordinate record class.
      Parameters:
      groupId - the value for the groupId record component
      artifactId - the value for the artifactId record component
      extension - the value for the extension record component
      classifier - the value for the classifier record component
      version - the value for the version record component
  • Method Details

    • parse

      public static MavenCoordinate parse(String coordinate)
      Valid forms:
      • groupId:artifactId:version
      • groupId:artifactId:version:classifier
      • groupId:artifactId:version:classifier@extension
      • groupId:artifactId:version@extension
    • toRelativeRepositoryPath

      public Path toRelativeRepositoryPath()
      Constructs a path relative to the root of a Maven repository pointing to the artifact expressed through these coordinates.
    • toString

      public String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • groupId

      public String groupId()
      Returns the value of the groupId record component.
      Returns:
      the value of the groupId record component
    • artifactId

      public String artifactId()
      Returns the value of the artifactId record component.
      Returns:
      the value of the artifactId record component
    • extension

      public String extension()
      Returns the value of the extension record component.
      Returns:
      the value of the extension record component
    • classifier

      public String classifier()
      Returns the value of the classifier record component.
      Returns:
      the value of the classifier record component
    • version

      public String version()
      Returns the value of the version record component.
      Returns:
      the value of the version record component