Skip to content

Commit ec69ca4

Browse files
committed
add all subtypes
1 parent 4ae8b78 commit ec69ca4

2 files changed

Lines changed: 167 additions & 37 deletions

File tree

services-directions-models/src/main/java/com/mapbox/api/directions/v5/models/BannerComponents.java

Lines changed: 70 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -69,27 +69,77 @@ public abstract class BannerComponents extends DirectionsJsonObject
6969
*/
7070
public static final String LANE = "lane";
7171

72-
/**
72+
/*
7373
* This view gives guidance through junctions and is used to complete maneuvers.
7474
*/
75+
@SuppressWarnings("checkstyle:javadocvariable")
7576
public static final String GUIDANCE_VIEW = "guidance-view";
7677

77-
/**
78-
* This view gives guidance through signboards and is used to complete maneuvers.
78+
/*
79+
* Sign Image After a Toll Gate. Used immediately after exiting a toll gate containing just the
80+
* overhead signboard. The preferred road (not the lane) arrow is highlighted on the signboard.
7981
*/
80-
public static final String SIGNBOARD = "signboard";
82+
@SuppressWarnings("checkstyle:javadocvariable")
83+
public static final String AFTERTOLL = "aftertoll";
8184

8285
/*
83-
* This view gives guidance through guide maps and is used to complete maneuvers.
86+
* 3D City Real. Bird’s-eye artist’s rendition view of a general road intersection
87+
* and preferred road lane arrow. There is no overhead signage.
8488
*/
8589
@SuppressWarnings("checkstyle:javadocvariable")
86-
public static final String SAPAGUIDEMAP = "sapaguidemap";
90+
public static final String CITYREAL = "cityreal";
8791

88-
/**
89-
* This view gives guidance through junctions and is used to complete maneuvers.
92+
/*
93+
* Expressway Entrance. Bird’s-eye artist’s rendition view of the overhead signage
94+
* and preferred road lane arrow at an entrance ramp onto an expressway.
9095
*/
96+
@SuppressWarnings("checkstyle:javadocvariable")
97+
public static final String EXPRESSWAY_ENTRANCE = "entrance";
98+
99+
/*
100+
* Expressway Exit. Bird’s-eye artist’s rendition view of the overhead signage and
101+
* preferred road lane arrow at an exit ramp from an expressway.
102+
*/
103+
@SuppressWarnings("checkstyle:javadocvariable")
104+
public static final String EXPRESSWAY_EXIT = "exit";
105+
106+
/*
107+
* Junction View. Bird’s-eye artist’s rendition view of the overhead signage and
108+
* preferred road lane arrow on motorways where the road bifurcates into 2 or
109+
* more motorway trunk roads.
110+
*/
111+
@SuppressWarnings("checkstyle:javadocvariable")
91112
public static final String JCT = "jct";
92113

114+
/*
115+
* Service Area-Parking Area. Bird’s-eye artist’s rendition view of the overhead
116+
* signage and preferred road lane arrow at a rest area ramp where the route
117+
* leaves the main road.
118+
*/
119+
@SuppressWarnings("checkstyle:javadocvariable")
120+
public static final String SAPA = "sapa";
121+
122+
/*
123+
* SAPA Guide Map. Vertical artist’s rendition guide map of an SAPA rest area
124+
* showing various facilities icons such as restaurants, restrooms and parking areas.
125+
* The scale is approx. 1:5K.
126+
*/
127+
@SuppressWarnings("checkstyle:javadocvariable")
128+
public static final String SAPAGUIDEMAP = "sapaguidemap";
129+
130+
/*
131+
* Advanced 2D signboard. These are vendor enhanced detailed signboards.
132+
*/
133+
@SuppressWarnings("checkstyle:javadocvariable")
134+
public static final String SIGNBOARD = "signboard";
135+
136+
/*
137+
* Branched Image After Toll Gate. Bird’s-eye artist’s rendition view of the overhead
138+
* signage and preferred road lane arrow immediately after exiting a toll gate.
139+
*/
140+
@SuppressWarnings("checkstyle:javadocvariable")
141+
public static final String TOLLBRANCH = "tollbranch";
142+
93143
/**
94144
* Banner component types.
95145
* https://docs.mapbox.com/api/navigation/#banner-instruction-object
@@ -112,13 +162,18 @@ public abstract class BannerComponents extends DirectionsJsonObject
112162
/**
113163
* Banner component types.
114164
* https://docs.mapbox.com/api/navigation/#banner-instruction-object
115-
*
116165
*/
117166
@Retention(RetentionPolicy.CLASS)
118167
@StringDef( {
168+
AFTERTOLL,
169+
CITYREAL,
170+
EXPRESSWAY_ENTRANCE,
171+
EXPRESSWAY_EXIT,
119172
JCT,
173+
SAPA,
174+
SAPAGUIDEMAP,
120175
SIGNBOARD,
121-
SAPAGUIDEMAP
176+
TOLLBRANCH
122177
})
123178
public @interface BannerComponentsSubType {
124179
}
@@ -165,20 +220,13 @@ public static Builder builder() {
165220
@BannerComponentsType
166221
public abstract String type();
167222

168-
/**
223+
/*
169224
* String giving you more context about {@link BannerComponentsType} which
170225
* may help in visual markup/display choices.
171-
* <p>
172-
* Possible values:
173-
* <ul>
174-
* <li><strong>jct</strong>: indicates a junction guidance view.</li>
175-
* <li><strong>signboard</strong>: indicates a signboard guidance view.</li>
176-
* </ul>
177-
*
178-
* @return String type from above list
179226
*/
180227
@Nullable
181-
@BannerComponentsType
228+
@BannerComponentsSubType
229+
@SuppressWarnings("checkstyle:javadocmethod")
182230
public abstract String subType();
183231

184232
/**
@@ -388,21 +436,13 @@ public abstract static class Builder extends DirectionsJsonObject.Builder<Builde
388436

389437

390438

391-
/**
439+
/*
392440
* String giving you more context about {@link BannerComponentsType}
393441
* which may help in visual markup/display choices.
394-
* <p>
395-
* Possible values:
396-
* <ul>
397-
* <li><strong>jct</strong>: indicates a junction guidance view.</li>
398-
* <li><strong>signboard</strong>: indicates a signboard guidance view.</li>
399-
* </ul>
400-
*
401-
* @param subType String subType from above list
402-
* @return String type from above list
403442
*/
404443
@NonNull
405444
@BannerComponentsType
445+
@SuppressWarnings("checkstyle:javadocmethod")
406446
public abstract Builder subType(@Nullable @BannerComponentsSubType String subType);
407447

408448

services-directions-models/src/test/java/com/mapbox/api/directions/v5/models/BannerComponentTest.java

Lines changed: 97 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -216,13 +216,73 @@ public void testToFromJsonLaneText() {
216216
assertEquals(bannerComponents, bannerComponentsFromJson);
217217
}
218218

219+
@Test
220+
public void testToFromJsonAfterTollSubType() {
221+
222+
BannerComponents bannerComponents = BannerComponents.builder()
223+
.text("")
224+
.type(BannerComponents.GUIDANCE_VIEW)
225+
.subType(BannerComponents.AFTERTOLL)
226+
.build();
227+
228+
String jsonString = bannerComponents.toJson();
229+
BannerComponents bannerComponentsFromJson = BannerComponents.fromJson(jsonString);
230+
231+
assertEquals(bannerComponents, bannerComponentsFromJson);
232+
}
233+
234+
@Test
235+
public void testToFromJsonCityRealSubType() {
236+
237+
BannerComponents bannerComponents = BannerComponents.builder()
238+
.text("")
239+
.type(BannerComponents.GUIDANCE_VIEW)
240+
.subType(BannerComponents.CITYREAL)
241+
.build();
242+
243+
String jsonString = bannerComponents.toJson();
244+
BannerComponents bannerComponentsFromJson = BannerComponents.fromJson(jsonString);
245+
246+
assertEquals(bannerComponents, bannerComponentsFromJson);
247+
}
248+
249+
@Test
250+
public void testToFromJsonExpresswayEntranceSubType() {
251+
252+
BannerComponents bannerComponents = BannerComponents.builder()
253+
.text("")
254+
.type(BannerComponents.GUIDANCE_VIEW)
255+
.subType(BannerComponents.EXPRESSWAY_ENTRANCE)
256+
.build();
257+
258+
String jsonString = bannerComponents.toJson();
259+
BannerComponents bannerComponentsFromJson = BannerComponents.fromJson(jsonString);
260+
261+
assertEquals(bannerComponents, bannerComponentsFromJson);
262+
}
263+
264+
@Test
265+
public void testToFromJsonExpresswayExitSubType() {
266+
267+
BannerComponents bannerComponents = BannerComponents.builder()
268+
.text("")
269+
.type(BannerComponents.GUIDANCE_VIEW)
270+
.subType(BannerComponents.EXPRESSWAY_EXIT)
271+
.build();
272+
273+
String jsonString = bannerComponents.toJson();
274+
BannerComponents bannerComponentsFromJson = BannerComponents.fromJson(jsonString);
275+
276+
assertEquals(bannerComponents, bannerComponentsFromJson);
277+
}
278+
219279
@Test
220280
public void testToFromJsonJctSubType() {
221281

222282
BannerComponents bannerComponents = BannerComponents.builder()
223283
.text("")
224-
.type("guidance-view")
225-
.subType("jct")
284+
.type(BannerComponents.GUIDANCE_VIEW)
285+
.subType(BannerComponents.JCT)
226286
.build();
227287

228288
String jsonString = bannerComponents.toJson();
@@ -232,12 +292,12 @@ public void testToFromJsonJctSubType() {
232292
}
233293

234294
@Test
235-
public void testToFromJsonSignboardSubType() {
295+
public void testToFromJsonSapaSubType() {
236296

237297
BannerComponents bannerComponents = BannerComponents.builder()
238298
.text("")
239-
.type("guidance-view")
240-
.subType("signboard")
299+
.type(BannerComponents.GUIDANCE_VIEW)
300+
.subType(BannerComponents.SAPA)
241301
.build();
242302

243303
String jsonString = bannerComponents.toJson();
@@ -251,8 +311,38 @@ public void testToFromJsonSapaMapSubType() {
251311

252312
BannerComponents bannerComponents = BannerComponents.builder()
253313
.text("")
254-
.type("guidance-view")
255-
.subType("sapaguidemap")
314+
.type(BannerComponents.GUIDANCE_VIEW)
315+
.subType(BannerComponents.SAPAGUIDEMAP)
316+
.build();
317+
318+
String jsonString = bannerComponents.toJson();
319+
BannerComponents bannerComponentsFromJson = BannerComponents.fromJson(jsonString);
320+
321+
assertEquals(bannerComponents, bannerComponentsFromJson);
322+
}
323+
324+
@Test
325+
public void testToFromJsonSignboardSubType() {
326+
327+
BannerComponents bannerComponents = BannerComponents.builder()
328+
.text("")
329+
.type(BannerComponents.GUIDANCE_VIEW)
330+
.subType(BannerComponents.SIGNBOARD)
331+
.build();
332+
333+
String jsonString = bannerComponents.toJson();
334+
BannerComponents bannerComponentsFromJson = BannerComponents.fromJson(jsonString);
335+
336+
assertEquals(bannerComponents, bannerComponentsFromJson);
337+
}
338+
339+
@Test
340+
public void testToFromJsonTollBranchSubType() {
341+
342+
BannerComponents bannerComponents = BannerComponents.builder()
343+
.text("")
344+
.type(BannerComponents.GUIDANCE_VIEW)
345+
.subType(BannerComponents.TOLLBRANCH)
256346
.build();
257347

258348
String jsonString = bannerComponents.toJson();

0 commit comments

Comments
 (0)