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

Last change on this file since 4153 was 4100, checked in by bastiK, 13 years ago

use IPrimitive to make upload code work for both OsmPrimitive and PrimitiveData

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/plain
File size: 1.6 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
9public class RelationData extends PrimitiveData implements IRelation {
10
11 private List<RelationMemberData> members = new ArrayList<RelationMemberData>();
12
13 public RelationData() {
14
15 }
16
17 public RelationData(RelationData data) {
18 super(data);
19 members.addAll(data.members);
20 }
21
22 public List<RelationMemberData> getMembers() {
23 return members;
24 }
25
26 public void setMembers(List<RelationMemberData> memberData) {
27 members = new ArrayList<RelationMemberData>(memberData);
28 }
29
30 @Override
31 public int getMembersCount() {
32 return members.size();
33 }
34
35 @Override
36 public long getMemberId(int idx) {
37 return members.get(idx).getMemberId();
38 }
39
40 @Override
41 public String getRole(int idx) {
42 return members.get(idx).getRole();
43 }
44
45 @Override
46 public OsmPrimitiveType getMemberType(int idx) {
47 return members.get(idx).getMemberType();
48 }
49
50 @Override
51 public RelationData makeCopy() {
52 return new RelationData(this);
53 }
54
55 @Override
56 public String toString() {
57 return super.toString() + " REL " + members;
58 }
59
60 @Override
61 public OsmPrimitiveType getType() {
62 return OsmPrimitiveType.RELATION;
63 }
64
65 @Override
66 public void visit(PrimitiveVisitor visitor) {
67 visitor.visit(this);
68 }
69
70 @Override
71 public String getDisplayName(NameFormatter formatter) {
72 return formatter.format(this);
73 }
74
75}
Note: See TracBrowser for help on using the repository browser.