Class GtfsUtils


  • public class GtfsUtils
    extends Object
    general utilities specific to this GTFS API
    Author:
    markr
    • Constructor Detail

      • GtfsUtils

        public GtfsUtils()
    • Method Detail

      • isValidGtfsLocation

        public static boolean isValidGtfsLocation​(URL gtfsLocation)
        A GTFS location URL is valid when it is either a directory or a zip file from which we can source the various GTFS files
        Parameters:
        gtfsLocation - to verify
        Returns:
        true when valid, false otherwise
      • createInputStream

        public static InputStream createInputStream​(URL gtfsLocation,
                                                    GtfsFileScheme fileScheme,
                                                    GtfsFileConditions filePresenceCondition)
        Based on passed in location and the file scheme create an input stream to the appropriate file, log warnings if not present but conditions require otherwise.
        Parameters:
        gtfsLocation - to use (dir or zip)
        fileScheme - to use to extract correct file name from
        filePresenceCondition - indicates if the file should be present or not. If
        Returns:
        input stream to GTFS file
      • createZipEntryInputStream

        public static InputStream createZipEntryInputStream​(URL gtfsLocation,
                                                            String zipInternalFileName,
                                                            GtfsFileConditions filePresenceCondition)
                                                     throws URISyntaxException
        Create a zip based input stream for given zip internal file location and issue warnings dependent on the presence conditions imposed if it is not present
        Parameters:
        gtfsLocation - zip file to create input stream for
        zipInternalFileName - file internal to zip file to create stream for
        filePresenceCondition - for this file
        Returns:
        created input stream, null if not available
        Throws:
        URISyntaxException - when URL cannot be converted to URI to append internal file name
      • createFileInputStream

        public static FileInputStream createFileInputStream​(File gtfsFileLocation,
                                                            GtfsFileConditions filePresenceCondition)
        Create a file based input stream for given file and issue warnings dependent on the presence conditions imposed if it is not present
        Parameters:
        gtfsFileLocation - to create input stream for
        filePresenceCondition - for this file
        Returns:
        created input stream, null if not available
      • getSupportedKeys

        public static EnumSet<GtfsKeyType> getSupportedKeys​(GtfsObjectType objectType)
        Collect the supported keys via reflection where it is assumed the object type's class has a default constructor. If so the supported keys are collected via a temporary instance that is created to access the abstract method providing the type specific supported keys
        Parameters:
        objectType - to use
        Returns:
        supported keys