From bcf671ab42d9409d5252bb317e1ad037cf270601 Mon Sep 17 00:00:00 2001 From: Dzina Dybouskaya Date: Wed, 16 Nov 2022 15:38:37 +0300 Subject: [PATCH] NAVAND-822: add supported amenity types --- CHANGELOG.md | 1 + .../api/directions/v5/DirectionsCriteria.java | 101 ++++++++++++++++++ .../api/directions/v5/models/Amenity.java | 4 +- 3 files changed, 105 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index df98c7ae8..a36b3811a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ Mapbox welcomes participation and contributions from everyone. ### main +- Specified supported amenity types via `DirectionsCriteria#AmenityTypeCriteria`. [#1515](https://github.com/mapbox/mapbox-java/pull/1515) ### v6.10.0-beta.2 - November 11, 2022 - Added `paymentMethods` parameter for `RouteOptions` and `IntersectionLanes`. [#1449](https://github.com/mapbox/mapbox-java/pull/1449) diff --git a/services-directions-models/src/main/java/com/mapbox/api/directions/v5/DirectionsCriteria.java b/services-directions-models/src/main/java/com/mapbox/api/directions/v5/DirectionsCriteria.java index 717a81cf0..805bbf854 100644 --- a/services-directions-models/src/main/java/com/mapbox/api/directions/v5/DirectionsCriteria.java +++ b/services-directions-models/src/main/java/com/mapbox/api/directions/v5/DirectionsCriteria.java @@ -2,6 +2,7 @@ import androidx.annotation.IntDef; import androidx.annotation.StringDef; +import com.mapbox.api.directions.v5.models.Amenity; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -394,6 +395,79 @@ public final class DirectionsCriteria { @SuppressWarnings("checkstyle:javadocvariable") public static final String PAYMENT_METHOD_APP = "app"; + /** + * Gas station amenity type. + */ + public static final String AMENITY_TYPE_GAS_STATION = "gas_station"; + /** + * Electric charging station amenity type. + */ + public static final String AMENITY_TYPE_ELECTRIC_CHARGING_STATION = "electric_charging_station"; + /** + * Toilet amenity type. + */ + public static final String AMENITY_TYPE_TOILET = "toilet"; + /** + * Coffee amenity type. + */ + public static final String AMENITY_TYPE_COFFEE = "coffee"; + /** + * Restaurant amenity type. + */ + public static final String AMENITY_TYPE_RESTAURANT = "restaurant"; + /** + * Snack amenity type. + */ + public static final String AMENITY_TYPE_SNACK = "snack"; + /** + * ATM amenity type. + */ + public static final String AMENITY_TYPE_ATM = "ATM"; + /** + * Info amenity type. + */ + public static final String AMENITY_TYPE_INFO = "info"; + /** + * Baby care amenity type. + */ + public static final String AMENITY_TYPE_BABY_CARE = "baby_care"; + /** + * Facilities for disabled amenity type. + */ + public static final String AMENITY_TYPE_FACILITIES_FOR_DISABLED = "facilities_for_disabled"; + /** + * Shop amenity type. + */ + public static final String AMENITY_TYPE_SHOP = "shop"; + /** + * Telephone amenity type. + */ + public static final String AMENITY_TYPE_TELEPHONE = "telephone"; + /** + * Hotel amenity type. + */ + public static final String AMENITY_TYPE_HOTEL = "hotel"; + /** + * Hotspring amenity type. + */ + public static final String AMENITY_TYPE_HOTSPRING = "hotspring"; + /** + * Shower amenity type. + */ + public static final String AMENITY_TYPE_SHOWER = "shower"; + /** + * Picnic shelter amenity type. + */ + public static final String AMENITY_TYPE_PICNIC_SHELTER = "picnic_shelter"; + /** + * Post amenity type. + */ + public static final String AMENITY_TYPE_POST = "post"; + /** + * FAX amenity type. + */ + public static final String AMENITY_TYPE_FAX = "FAX"; + private DirectionsCriteria() { //not called } @@ -584,4 +658,31 @@ private DirectionsCriteria() { }) public @interface PaymentMethodsCriteria { } + + /** + * Supported amenity types. See {@link Amenity#type()}. + */ + @Retention(RetentionPolicy.CLASS) + @StringDef({ + AMENITY_TYPE_GAS_STATION, + AMENITY_TYPE_ELECTRIC_CHARGING_STATION, + AMENITY_TYPE_TOILET, + AMENITY_TYPE_COFFEE, + AMENITY_TYPE_RESTAURANT, + AMENITY_TYPE_SNACK, + AMENITY_TYPE_ATM, + AMENITY_TYPE_INFO, + AMENITY_TYPE_BABY_CARE, + AMENITY_TYPE_FACILITIES_FOR_DISABLED, + AMENITY_TYPE_SHOP, + AMENITY_TYPE_TELEPHONE, + AMENITY_TYPE_HOTEL, + AMENITY_TYPE_HOTSPRING, + AMENITY_TYPE_SHOWER, + AMENITY_TYPE_PICNIC_SHELTER, + AMENITY_TYPE_POST, + AMENITY_TYPE_FAX, + }) + public @interface AmenityTypeCriteria { + } } diff --git a/services-directions-models/src/main/java/com/mapbox/api/directions/v5/models/Amenity.java b/services-directions-models/src/main/java/com/mapbox/api/directions/v5/models/Amenity.java index a1fbd3630..59f70c025 100644 --- a/services-directions-models/src/main/java/com/mapbox/api/directions/v5/models/Amenity.java +++ b/services-directions-models/src/main/java/com/mapbox/api/directions/v5/models/Amenity.java @@ -18,9 +18,11 @@ public abstract class Amenity extends DirectionsJsonObject { /** * The type of amenities such as gas, restaurants, shopping, bank, atm etc. - * Note that adding new possible types is not considered a breaking change. + * For a list of supported amenity types + * see {@link com.mapbox.api.directions.v5.DirectionsCriteria.AmenityTypeCriteria}. */ @NonNull + @DirectionsCriteria.AmenityTypeCriteria public abstract String type(); /**