Record Class SubprojectSnapshot

java.lang.Object
java.lang.Record
network.ike.plugin.ws.SubprojectSnapshot
Record Components:
name - subproject directory name
sha - full commit SHA (or "unknown" if unavailable)
shortSha - abbreviated commit SHA
branch - current branch name
version - POM version (may be null)
modified - true if working tree has uncommitted changes

public record SubprojectSnapshot(String name, String sha, String shortSha, String branch, String version, boolean modified) extends Record
Immutable snapshot of a single workspace subproject at checkpoint time.

Decouples checkpoint YAML generation from git subprocess calls so the formatting logic is testable with plain records.

  • Constructor Details

    • SubprojectSnapshot

      public SubprojectSnapshot(String name, String sha, String shortSha, String branch, String version, boolean modified)
      Creates an instance of a SubprojectSnapshot record class.
      Parameters:
      name - the value for the name record component
      sha - the value for the sha record component
      shortSha - the value for the shortSha record component
      branch - the value for the branch record component
      version - the value for the version record component
      modified - the value for the modified record component
  • Method Details

    • toString

      public final 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. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      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.
    • name

      public String name()
      Returns the value of the name record component.
      Returns:
      the value of the name record component
    • sha

      public String sha()
      Returns the value of the sha record component.
      Returns:
      the value of the sha record component
    • shortSha

      public String shortSha()
      Returns the value of the shortSha record component.
      Returns:
      the value of the shortSha record component
    • branch

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

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

      public boolean modified()
      Returns the value of the modified record component.
      Returns:
      the value of the modified record component