/* * Copyright (C) 2013 Paul Watts (paulcwatts@gmail.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.onebusaway.android.io.elements; /** * Specifies a region in the OneBusAway multi-region system. */ public interface ObaRegion { /** * Specifies a single bound rectangle within this region. */ public interface Bounds { public double getLat(); public double getLon(); public double getLatSpan(); public double getLonSpan(); } public interface Open311Server { public String getJuridisctionId(); public String getApiKey(); public String getBaseUrl(); } /** * @return The ID of this region. */ public long getId(); /** * @return The name of the region. */ public String getName(); /** * @return true if this server is active and should be presented in a list of working servers, * false otherwise. */ public boolean getActive(); /** * @return The base OBA URL for this region, or null if it doesn't have a base OBA URL. */ public String getObaBaseUrl(); /** * @return The base SIRI URL for this region, or null if it doesn't use SIRI. */ public String getSiriBaseUrl(); /** * @return An array of bounding boxes for the region. */ public Bounds[] getBounds(); public Open311Server[] getOpen311Servers(); /** * @return The primary language for this region. */ public String getLanguage(); /** * @return The email of the party responsible for this region's OBA server. */ public String getContactEmail(); /** * @return true if this server supports OBA discovery APIs, false otherwise. */ public boolean getSupportsObaDiscoveryApis(); /** * @return true if this server supports OBA real-time APIs, false otherwise. */ public boolean getSupportsObaRealtimeApis(); /** * @return true if this server supports SIRI real-time APIs, false otherwise. */ public boolean getSupportsSiriRealtimeApis(); /** * @return The Twitter URL for the region */ public String getTwitterUrl(); /** * @return true if this server is experimental, false if its production. */ public boolean getExperimental(); /** * @return the StopInfo URL for the region (see #103) */ public String getStopInfoUrl(); /** * @return the OpenTripPlanner URL for the region */ public String getOtpBaseUrl(); /** * @return The email of the party responsible for this region's OTP server. */ public String getOtpContactEmail(); }