source: josm/trunk/src/org/openstreetmap/josm/data/osm/RelationData.java@ 11914

Last change on this file since 11914 was 11878, checked in by Don-vip, 7 years ago

findbugs - EI_EXPOSE_REP2 + javadoc

  • Property svn:eol-style set to native
File size: 2.0 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.data.osm;
3
4import java.util.ArrayList;
5import java.util.List;
6
7import org.openstreetmap.josm.data.osm.visitor.PrimitiveVisitor;
8
9/**
10 * Relation data.
11 * @since 2284
12 */
13public class RelationData extends PrimitiveData implements IRelation {
14
15 private static final long serialVersionUID = 1163664954890478565L;
16 private List<RelationMemberData> members = new ArrayList<>();
17
18 /**
19 * Constructs a new {@code RelationData}.
20 */
21 public RelationData() {
22 // contents can be set later with setters
23 }
24
25 /**
26 * Constructs a new {@code RelationData}.
27 * @param data relation data to copy
28 */
29 public RelationData(RelationData data) {
30 super(data);
31 members.addAll(data.members);
32 }
33
34 /**
35 * Returns relation members.
36 * @return relation members
37 */
38 public List<RelationMemberData> getMembers() {
39 return members;
40 }
41
42 /**
43 * Sets relation members.
44 * @param memberData relation members
45 */
46 public void setMembers(List<RelationMemberData> memberData) {
47 members = new ArrayList<>(memberData);
48 }
49
50 @Override
51 public int getMembersCount() {
52 return members.size();
53 }
54
55 @Override
56 public long getMemberId(int idx) {
57 return members.get(idx).getMemberId();
58 }
59
60 @Override
61 public String getRole(int idx) {
62 return members.get(idx).getRole();
63 }
64
65 @Override
66 public OsmPrimitiveType getMemberType(int idx) {
67 return members.get(idx).getMemberType();
68 }
69
70 @Override
71 public RelationData makeCopy() {
72 return new RelationData(this);
73 }
74
75 @Override
76 public String toString() {
77 return super.toString() + " REL " + members;
78 }
79
80 @Override
81 public OsmPrimitiveType getType() {
82 return OsmPrimitiveType.RELATION;
83 }
84
85 @Override
86 public void accept(PrimitiveVisitor visitor) {
87 visitor.visit(this);
88 }
89
90}
Note: See TracBrowser for help on using the repository browser.