Record Class ArrivalMetadata

java.lang.Object
java.lang.Record
com.cta4j.train.common.model.ArrivalMetadata
Record Components:
runNumber - the run number of the train associated with this arrival
direction - the direction of travel of the train associated with this arrival
coordinates - the coordinates of the train associated with this arrival, if applicable
flags - the flags associated with this arrival, if applicable

@NullMarked public record ArrivalMetadata(String runNumber, TrainDirection direction, @Nullable Coordinates coordinates, @Nullable String flags) extends Record
Represents metadata associated with a train arrival.
  • Constructor Details

    • ArrivalMetadata

      public ArrivalMetadata(String runNumber, TrainDirection direction, @Nullable Coordinates coordinates, @Nullable String flags)
      Constructs an ArrivalMetadata.
      Parameters:
      runNumber - the run number of the train associated with the arrival
      direction - the direction of travel of the train associated with the arrival
      coordinates - the coordinates of the train associated with the arrival, if applicable
      flags - the flags associated with the arrival, if applicable
      Throws:
      NullPointerException - if runNumber or direction is null
  • 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. 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.
    • runNumber

      public String runNumber()
      Returns the value of the runNumber record component.
      Returns:
      the value of the runNumber record component
    • direction

      public TrainDirection direction()
      Returns the value of the direction record component.
      Returns:
      the value of the direction record component
    • coordinates

      public @Nullable Coordinates coordinates()
      Returns the value of the coordinates record component.
      Returns:
      the value of the coordinates record component
    • flags

      public @Nullable String flags()
      Returns the value of the flags record component.
      Returns:
      the value of the flags record component