Record Class Detour

java.lang.Object
java.lang.Record
com.cta4j.bus.detour.model.Detour
Record Components:
id - the unique identifier of this detour
version - the version of this detour
active - whether this detour is currently active
description - the human-readable description of this detour
routeDirections - the routes and directions affected by this detour
startTime - the time at which this detour begins
endTime - the time at which this detour ends
dataFeed - the identifier for the data feed that supplied this detour, or null if not available

@NullMarked public record Detour(String id, String version, boolean active, String description, List<DetourRouteDirection> routeDirections, Instant startTime, Instant endTime, @Nullable String dataFeed) extends Record
Represents a service detour affecting one or more routes and directions within a specific time window.

NOTE: dataFeed is not well-documented by the CTA. As such, its presence here is primarily for completeness and may not be populated or described correctly.

  • Constructor Details

    • Detour

      public Detour(String id, String version, boolean active, String description, List<DetourRouteDirection> routeDirections, Instant startTime, Instant endTime, @Nullable String dataFeed)
      Constructs a Detour.
      Parameters:
      id - the unique identifier of the detour
      version - the version of the detour
      active - whether the detour is currently active
      description - the human-readable description of the detour
      routeDirections - the routes and directions affected by the detour
      startTime - the time at which the detour begins
      endTime - the time at which the detour ends
      dataFeed - the identifier for the data feed that supplied the detour, or null if not available
      Throws:
      NullPointerException - if id, version, description, routeDirections, startTime, or endTime 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. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      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.
    • id

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

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

      public boolean active()
      Returns the value of the active record component.
      Returns:
      the value of the active record component
    • description

      public String description()
      Returns the value of the description record component.
      Returns:
      the value of the description record component
    • routeDirections

      public List<DetourRouteDirection> routeDirections()
      Returns the value of the routeDirections record component.
      Returns:
      the value of the routeDirections record component
    • startTime

      public Instant startTime()
      Returns the value of the startTime record component.
      Returns:
      the value of the startTime record component
    • endTime

      public Instant endTime()
      Returns the value of the endTime record component.
      Returns:
      the value of the endTime record component
    • dataFeed

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