Class ACARSFlightReport

All Implemented Interfaces:
Serializable, Comparable<Object>, AuthoredBean, CalendarEntry, FlightData, FlightNumber, IDBean, FlightTimes, RoutePair, TimeSpan, ViewEntry, Cacheable
Direct Known Subclasses:
SimFDRFlightReport

public class ACARSFlightReport extends FDRFlightReport implements FlightTimes
A class for storing ACARS-submitted Flight Reports.
Since:
1.0
Version:
11.4
Author:
Luke
See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • getFDR

      public Recorder getFDR()
      Description copied from interface: FlightData
      Returns the Flight Data recorder used for this flight.
      Specified by:
      getFDR in interface FlightData
      Overrides:
      getFDR in class FlightReport
      Returns:
      a Recorder enum or null if none/unknown
    • getBlockTime

      public Duration getBlockTime()
      Description copied from class: FDRFlightReport
      Returns the total time of the flight.
      Overrides:
      getBlockTime in class FDRFlightReport
      Returns:
      the total Duration
      See Also:
    • getLandingG

      public double getLandingG()
      Returns the G-Forces at touchdown.
      Returns:
      the G-Forces in G
      See Also:
    • getTime

      public int getTime(int rate)
      Returns the amount of time at a given time acceleration rate.
      Parameters:
      rate - the acceleration rate
      Returns:
      the amount of time in seconds at that acceleration rate
      See Also:
    • getTimes

      public Map<Long,Integer> getTimes()
      Returns a Map of times and acceleration rates.
      Returns:
      a sorted Map of times, keyed by acceleration rate
      See Also:
    • getBoardTime

      public Duration getBoardTime()
      Returns the amount of time spent loading passengers/cargo.
      Returns:
      the amount of time in seconds
      See Also:
    • getDeboardTime

      public Duration getDeboardTime()
      Returns the amount of time spent unloading passengers/cargo.
      Returns:
      the amount of time in seconds
      See Also:
    • getOnlineTime

      public Duration getOnlineTime()
      Returns the amount of time spent connected to an Online Network.
      Returns:
      the amount of time in seconds
      See Also:
    • getTOCTime

      public Instant getTOCTime()
      Returns the date/time that the aircraft reached Top of Climb.
      Returns:
      the date/time of top of climb
      See Also:
    • getTODTime

      public Instant getTODTime()
      Returns the date/time that the aircraft reached Top of Descent.
      Returns:
      the date/time of top of descent
      See Also:
    • getLength

      public final int getLength()
      Returns the length of the fllight in hours multiplied by ten. This is done to avoid rounding errors when using a floating point number. ACARS Flight Reports will use the time at 1x, 2x, and 4x acceleration to calculate the flight length if the length field is not already populated. This assumes that the ACARS client has performed the proper multiplication before submitting the data.
      Overrides:
      getLength in class FlightReport
      Returns:
      the length of the flight in hours multiplied by ten
      See Also:
    • getFDE

      public String getFDE()
      Returns the FDE used for this flight.
      Returns:
      the AIR file name, or null
      See Also:
    • getSDK

      public String getSDK()
      Returns the aircraft SDK used for this flight.
      Returns:
      the SDK code, or null
      See Also:
    • getAircraftCode

      public String getAircraftCode()
      Returns the aircraft code used for this flight.
      Returns:
      the aircraft code
      See Also:
    • getAuthor

      public String getAuthor()
      Returns the aircraft author.
      Returns:
      the author name
      See Also:
    • getAircraftPath

      public String getAircraftPath()
      Returns the aircraft path in the simulator.
      Returns:
      the path name
      See Also:
    • getAverageFrameRate

      public double getAverageFrameRate()
      Description copied from class: FDRFlightReport
      Returns the average frame rate for this flight.
      Specified by:
      getAverageFrameRate in class FDRFlightReport
      Returns:
      the average frame rate in frames per second
    • getRestoreCount

      public int getRestoreCount()
      Returns the number of ACARS in-flight resotres on this flight.
      Returns:
      the number of flight restores
      See Also:
    • getClientBuild

      public int getClientBuild()
      Returns the ACARS client build number.
      Returns:
      the client build number
      See Also:
    • getBeta

      public int getBeta()
      Returns the ACARS beta build number.
      Returns:
      the beta number
      See Also:
    • getLandingCategory

      public ILSCategory getLandingCategory()
      Returns the ILS category.
      Returns:
      the ILS Category
    • getPaxWeight

      public int getPaxWeight()
      Returns the total passenger weight.
      Returns:
      the weight in pounds
    • getCargoWeight

      public int getCargoWeight()
      Returns the total cargo weight.
      Returns:
      the weight in pounds
    • getCapabilities

      public long getCapabilities()
      Description copied from class: FDRFlightReport
      Returns the aircraft/simulator capabilities flags.
      Specified by:
      getCapabilities in class FDRFlightReport
      Returns:
      the Capabilities flag bitmap
    • getTimeD

      public ZonedDateTime getTimeD()
      Returns the flight start date/time in the simulator.
      Specified by:
      getTimeD in interface FlightTimes
      Returns:
      the departure date/time
      See Also:
    • getLocalTakeoffTime

      public ZonedDateTime getLocalTakeoffTime()
      Returns the local takeoff date/time. This is the simulator's local time at takeoff.
      Returns:
      the takeoff date/time
    • getLocalLandingTime

      public ZonedDateTime getLocalLandingTime()
      Returns the local landing date/time. This is the simulator's local time at touchdown.
      Returns:
      the touchdown date/time
    • getTimeA

      public ZonedDateTime getTimeA()
      Returns the flight arrival date/time in the simulator.
      Specified by:
      getTimeA in interface FlightTimes
      Returns:
      the arrival date/time
      See Also:
    • getOnTime

      public OnTime getOnTime()
      Returns whether the flight matched the schedule times.
      Returns:
      an OnTime enumeration
    • getTailCode

      public String getTailCode()
      Returns the registration code of the aircraft.
      Returns:
      the tail code
    • setTailCode

      public void setTailCode(String tc)
      Updates the registration code of the aircraft.
      Parameters:
      tc - the tail code
    • setLandingG

      public void setLandingG(double g)
      Updates the G-Forces at touchdown.
      Parameters:
      g - the G-forces in G
      See Also:
    • setTime

      public void setTime(int rate, int secs)
      Updates the amount of time at a particular time acceleration rate.
      Parameters:
      rate - the acceleration rate
      secs - the amount of time in seconds
      Throws:
      IllegalArgumentException - if rate is not 0, 1, 2, 4
      See Also:
    • setBoardTime

      public void setBoardTime(int secs)
      Updates the amount of time spent loading passengers/cargo.
      Parameters:
      secs - the time in seconds
      See Also:
    • setDeboardTime

      public void setDeboardTime(int secs)
      Updates the amount of time spent unloading passengers/cargo.
      Parameters:
      secs - the time in seconds
      See Also:
    • setOnlineTime

      public void setOnlineTime(int secs)
      Updates the amount of time spent connected to an Online Network.
      Parameters:
      secs - the time in seconds
      See Also:
    • setTOCTime

      public void setTOCTime(Instant dt)
      Updates the Top of Climb date/time.
      Parameters:
      dt - the date/time at top of climb
      See Also:
    • setTODTime

      public void setTODTime(Instant dt)
      Updates the Top of Descent date/time.
      Parameters:
      dt - the date/time at top of descent
      See Also:
    • setFDE

      public void setFDE(String airFile)
      Updates the FDE used for this flight.
      Parameters:
      airFile - the AIR file name, or null if unknown
      See Also:
    • setAircraftCode

      public void setAircraftCode(String code)
      Updates the aircraft code used for this flight.
      Parameters:
      code - the aircraft code
      See Also:
    • setAverageFrameRate

      public void setAverageFrameRate(double avgRate)
      Updates the average simulator frame rate for this flight.
      Parameters:
      avgRate - the average rate in frames per second
      See Also:
    • setRestoreCount

      public void setRestoreCount(int cnt)
      Updates the number of ACARS in-flight restores during this flight.
      Parameters:
      cnt - the number of flight restores
      See Also:
    • setClientBuild

      public void setClientBuild(int ver)
      Updates the ACARS client build number.
      Parameters:
      ver - the build number
      See Also:
    • setBeta

      public void setBeta(int beta)
      Updates the ACARS beta build number.
      Parameters:
      beta - the beta number
      See Also:
    • setLandingCategory

      public void setLandingCategory(ILSCategory ilscat)
      Sets the ILS category.
      Parameters:
      ilscat - the ILS category
    • setSDK

      public void setSDK(String sdk)
      Sets the aircraft SDK used.
      Parameters:
      sdk - the SDK code
    • setAuthor

      public void setAuthor(String author)
      Updates the aircraft author.
      Parameters:
      author - the author name
      See Also:
    • setAircraftPath

      public void setAircraftPath(String path)
      Updates the aircraft path in the simulator.
      Parameters:
      path - the path name
      See Also:
    • setCapabilities

      public void setCapabilities(long cap)
      Sets aircraft/sim capabilities flags.
      Parameters:
      cap - the Capabilities flags
    • setPaxWeight

      public void setPaxWeight(int wt)
      Updates the passenger weight.
      Parameters:
      wt - the total passenger weight, in pounds
    • setCargoWeight

      public void setCargoWeight(int wt)
      Updates the cargo weight.
      Parameters:
      wt - the total cargo weight, in pounds
    • setDepartureTime

      public void setDepartureTime(Instant dt)
      Updates the departure date/time. This is the simulator's local time at start time.
      Parameters:
      dt - the departure date/time
      See Also:
    • setArrivalTime

      public void setArrivalTime(Instant dt)
      Updates the arrival date/time. This is the simulators' local time at end time.
      Parameters:
      dt - the arrival date/time
      See Also:
    • setOnTime

      public void setOnTime(OnTime o)
      Updates whether the flight was on time.
      Parameters:
      o - an OnTime value