All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.entur.netex.index.api.NetexEntitiesIndex Maven / Gradle / Ivy

There is a newer version: 3.1.29
Show newest version
package org.entur.netex.index.api;

import java.time.LocalDateTime;
import java.util.Collection;
import java.util.Map;
import org.rutebanken.netex.model.Authority;
import org.rutebanken.netex.model.Block;
import org.rutebanken.netex.model.Branding;
import org.rutebanken.netex.model.CompositeFrame;
import org.rutebanken.netex.model.DatedServiceJourney;
import org.rutebanken.netex.model.DayType;
import org.rutebanken.netex.model.DayTypeAssignment;
import org.rutebanken.netex.model.DestinationDisplay;
import org.rutebanken.netex.model.FareZone;
import org.rutebanken.netex.model.FlexibleLine;
import org.rutebanken.netex.model.FlexibleStopPlace;
import org.rutebanken.netex.model.GroupOfLines;
import org.rutebanken.netex.model.GroupOfStopPlaces;
import org.rutebanken.netex.model.GroupOfTariffZones;
import org.rutebanken.netex.model.JourneyPattern;
import org.rutebanken.netex.model.Line;
import org.rutebanken.netex.model.Network;
import org.rutebanken.netex.model.Notice;
import org.rutebanken.netex.model.NoticeAssignment;
import org.rutebanken.netex.model.OperatingDay;
import org.rutebanken.netex.model.OperatingPeriod;
import org.rutebanken.netex.model.Operator;
import org.rutebanken.netex.model.Parking;
import org.rutebanken.netex.model.PassengerStopAssignment;
import org.rutebanken.netex.model.Quay;
import org.rutebanken.netex.model.ResourceFrame;
import org.rutebanken.netex.model.Route;
import org.rutebanken.netex.model.RoutePoint;
import org.rutebanken.netex.model.ScheduledStopPoint;
import org.rutebanken.netex.model.ServiceCalendarFrame;
import org.rutebanken.netex.model.ServiceFrame;
import org.rutebanken.netex.model.ServiceJourney;
import org.rutebanken.netex.model.ServiceJourneyInterchange;
import org.rutebanken.netex.model.ServiceLink;
import org.rutebanken.netex.model.SiteFrame;
import org.rutebanken.netex.model.StopPlace;
import org.rutebanken.netex.model.TariffZone;
import org.rutebanken.netex.model.TimetableFrame;
import org.rutebanken.netex.model.TopographicPlace;
import org.rutebanken.netex.model.VehicleScheduleFrame;

import com.google.common.collect.Multimap;

/**
 * Entrypoint to the NeTEx entities index
 */
public interface NetexEntitiesIndex {

    /**
     * Get an entity index of GroupOfLines
     * @return
     */
    NetexEntityIndex getGroupOfLinesIndex();

    /**
     * Get an entity index of Network
     * @return
     */
    NetexEntityIndex getNetworkIndex();

    /**
     * Get a map of Network id by GroupOfLine id
     * @return
     */
    Map getNetworkIdByGroupOfLineIdIndex();

    /**
     * Get an entity index of Authority
     * @return
     */
    NetexEntityIndex getAuthorityIndex();

    /**
     * Get an entity index of DayType
     * @return
     */
    NetexEntityIndex getDayTypeIndex();

    /**
     * Get a Multimap of DayTypeAssignment by DayType id
     * @return
     */
    Multimap getDayTypeAssignmentsByDayTypeIdIndex();


    /**
     * Get a Multimap of PassengerStopAssignment by StopPoint ref
     * * @return
     */
    Multimap getPassengerStopAssignmentsByStopPointRefIndex();

    /**
     * Get an entity index of DatedServiceJourney
     * @return
     */
    NetexEntityIndex getDatedServiceJourneyIndex();

    /**
     * Get a Multimap of DatedServiceJourney by ServiceJourney id
     * @return
     */
    Multimap getDatedServiceJourneyByServiceJourneyRefIndex();


    /**
     * Get an entity index of DestinationDisplay
     * @return
     */
    NetexEntityIndex getDestinationDisplayIndex();

    /**
     * Get an entity index of FlexibleStopPlace
     * @return
     */
    NetexEntityIndex getFlexibleStopPlaceIndex();

    /**
     * Get an entity index of GroupOfStopPlaces
     * @return
     */
    NetexEntityIndex getGroupOfStopPlacesIndex();

    /**
     * Get an entity index of JourneyPattern
     * @return
     */
    NetexEntityIndex getJourneyPatternIndex();

    /**
     * Get an entity index of FlexibleLine
     * @return
     */
    NetexEntityIndex getFlexibleLineIndex();

    /**
     * Get an entity index of Line
     * @return
     */
    NetexEntityIndex getLineIndex();

    /**
     * Get an entity index of Notice
     * @return
     */
    NetexEntityIndex getNoticeIndex();

    /**
     * Get an entity index of NoticeAssignment
     * @return
     */
    NetexEntityIndex getNoticeAssignmentIndex();

    /**
     * Get an entity index of OperatingDay
     * @return
     */
    NetexEntityIndex getOperatingDayIndex();

    /**
     * Get an entity index of OperatingPeriod
     * @return
     */
    NetexEntityIndex getOperatingPeriodIndex();

    /**
     * Get an entity index of Operator
     * @return
     */
    NetexEntityIndex getOperatorIndex();

    /**
     * Get an entity index of Branding
     * @return
     */
    NetexEntityIndex getBrandingIndex();

    /**
     * Get a versioned entity index of Quay
     * @return
     */
    VersionedNetexEntityIndex getQuayIndex();

    /**
     * Get a map of Quay id by StopPoint ref
     * @return
     */
    Map getQuayIdByStopPointRefIndex();

    /**
     * Get a map of StopPlace id by StopPoint ref
     * @return
     */
    Map getStopPlaceIdByStopPointRefIndex();

    /**
     * Get a map of StopPlace id by Quay id
     * @return
     */
    Map getStopPlaceIdByQuayIdIndex();

    /**
     * Get a map of FlexibleStopPlace id by StopPoint ref
     * @return
     */
    Map getFlexibleStopPlaceIdByStopPointRefIndex();

    /**
     * Get an entity index of Route
     * @return
     */
    NetexEntityIndex getRouteIndex();

    /**
     * Get an entity index of ServiceJourney
     * @return
     */
    NetexEntityIndex getServiceJourneyIndex();

    /**
     * Get an entity index of ServiceJourneyInterchange
     * @return
     */
    NetexEntityIndex getServiceJourneyInterchangeIndex();

    /**
     * Get a map of ServiceJourneyInterchange by feeder or consumer ServiceJourney
     * @return
     */
    Multimap getServiceJourneyInterchangeByServiceJourneyRefIndex();

    /**
     * Get an entity index of ServiceLink
     * @return
     */
    NetexEntityIndex getServiceLinkIndex();

    /**
     * Get a versioned entity index of StopPlace
     * @return
     */
    VersionedNetexEntityIndex getStopPlaceIndex();

    /**
     * Get an entity index of TariffZone
     * @return
     */
    VersionedNetexEntityIndex getTariffZoneIndex();

    /**
     * Get an entity index of TopographicPlace
     * @return
     */
    VersionedNetexEntityIndex getTopographicPlaceIndex();

    /**
     * Get an entity index of Parking
     * @return
     */
    VersionedNetexEntityIndex getParkingIndex();

    /**
     * Get an entity index of ScheduledStopPoint
     * @return
     */
    VersionedNetexEntityIndex getScheduledStopPointIndex();

    /**
     * Get an entity index of RoutePoint
     * @return
     */
    NetexEntityIndex getRoutePointIndex();

    /**
     * Get an entity index of Block
     * @return
     */
    NetexEntityIndex getBlockIndex();

    /**
     * Get a Multimap of parkings by ParentSite ref
     * @return
     */
    Multimap getParkingsByParentSiteRefIndex();

    /**
     * Get an entity index of FareZone
     * @return
     */
    VersionedNetexEntityIndex getFareZoneIndex();

    VersionedNetexEntityIndex getGroupOfTariffZonesIndex();

    Collection getCompositeFrames();
    Collection getResourceFrames();
    Collection getSiteFrames();
    Collection getServiceFrames();
    Collection getServiceCalendarFrames();
    Collection getVehicleScheduleFrames();
    Collection getTimetableFrames();

    LocalDateTime getPublicationTimestamp();
    void setPublicationTimestamp(LocalDateTime publicationTimestamp);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy