source: josm/trunk/src/org/openstreetmap/josm/data/vector/VectorRelationMember.java@ 17862

Last change on this file since 17862 was 17862, checked in by simon04, 3 years ago

fix #17177 - Add support for Mapbox Vector Tile (patch by taylor.smock)

Signed-off-by: Taylor Smock <tsmock@…>

File size: 1.7 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.data.vector;
3
4import java.util.Optional;
5
6import org.openstreetmap.josm.data.osm.INode;
7import org.openstreetmap.josm.data.osm.IRelation;
8import org.openstreetmap.josm.data.osm.IRelationMember;
9import org.openstreetmap.josm.data.osm.IWay;
10import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
11import org.openstreetmap.josm.tools.CheckParameterUtil;
12
13/**
14 * Relation members for a Vector Relation
15 */
16public class VectorRelationMember implements IRelationMember<VectorPrimitive> {
17 private final String role;
18 private final VectorPrimitive member;
19
20 /**
21 * Create a new relation member
22 * @param role The role of the member
23 * @param member The member primitive
24 */
25 public VectorRelationMember(String role, VectorPrimitive member) {
26 CheckParameterUtil.ensureParameterNotNull(member, "member");
27 this.role = Optional.ofNullable(role).orElse("").intern();
28 this.member = member;
29 }
30
31 @Override
32 public String getRole() {
33 return this.role;
34 }
35
36 @Override
37 public boolean isNode() {
38 return this.member instanceof INode;
39 }
40
41 @Override
42 public boolean isWay() {
43 return this.member instanceof IWay;
44 }
45
46 @Override
47 public boolean isRelation() {
48 return this.member instanceof IRelation;
49 }
50
51 @Override
52 public VectorPrimitive getMember() {
53 return this.member;
54 }
55
56 @Override
57 public long getUniqueId() {
58 return this.member.getId();
59 }
60
61 @Override
62 public OsmPrimitiveType getType() {
63 return this.member.getType();
64 }
65
66 @Override
67 public boolean isNew() {
68 return this.member.isNew();
69 }
70}
Note: See TracBrowser for help on using the repository browser.