Record Class CohesionValue

java.lang.Object
java.lang.Record
dev.archunitjava.metrics.CohesionValue
All Implemented Interfaces:
Comparable<CohesionValue>

public record CohesionValue(TypeId subject, LcomVariant variant, MetricAvailability availability, Optional<MetricAmount> amount, int methodCount, int fieldCount, String explanation) extends Record implements Comparable<CohesionValue>
One LCOM result with explicit evidence availability and formula population.
  • Constructor Details

    • CohesionValue

      public CohesionValue(TypeId subject, LcomVariant variant, MetricAvailability availability, Optional<MetricAmount> amount, int methodCount, int fieldCount, String explanation)
      Creates an instance of a CohesionValue record class.
      Parameters:
      subject - the value for the subject record component
      variant - the value for the variant record component
      availability - the value for the availability record component
      amount - the value for the amount record component
      methodCount - the value for the methodCount record component
      fieldCount - the value for the fieldCount record component
      explanation - the value for the explanation record component
  • Method Details

    • sample

      public Optional<MetricSample> sample()
    • compareTo

      public int compareTo(CohesionValue other)
      Specified by:
      compareTo in interface Comparable<CohesionValue>
    • 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.
    • subject

      public TypeId subject()
      Returns the value of the subject record component.
      Returns:
      the value of the subject record component
    • variant

      public LcomVariant variant()
      Returns the value of the variant record component.
      Returns:
      the value of the variant record component
    • availability

      public MetricAvailability availability()
      Returns the value of the availability record component.
      Returns:
      the value of the availability record component
    • amount

      public Optional<MetricAmount> amount()
      Returns the value of the amount record component.
      Returns:
      the value of the amount record component
    • methodCount

      public int methodCount()
      Returns the value of the methodCount record component.
      Returns:
      the value of the methodCount record component
    • fieldCount

      public int fieldCount()
      Returns the value of the fieldCount record component.
      Returns:
      the value of the fieldCount record component
    • explanation

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