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

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

extract common functionality of OsmPrimitive & PrimitiveData to an interface

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