source: josm/trunk/src/org/openstreetmap/josm/data/osm/RelationMemberData.java@ 6069

Last change on this file since 6069 was 6069, checked in by stoecker, 11 years ago

see #8853 remove tabs, trailing spaces, windows line ends, strange characters

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-java
File size: 2.4 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.data.osm;
3
4public class RelationMemberData implements PrimitiveId {
5
6 private final String role;
7 private final long memberId;
8 private final OsmPrimitiveType memberType;
9
10 public RelationMemberData(String role, OsmPrimitiveType type, long id) {
11 this.role = role == null?"":role;
12 this.memberType = type;
13 this.memberId = id;
14 }
15
16 public RelationMemberData(String role, PrimitiveId primitive) {
17 this(role, primitive.getType(), primitive.getUniqueId());
18 }
19
20 public long getMemberId() {
21 return memberId;
22 }
23
24 public String getRole() {
25 return role;
26 }
27
28 public OsmPrimitiveType getMemberType() {
29 return memberType;
30 }
31
32 public boolean hasRole() {
33 return !"".equals(role);
34 }
35
36 @Override
37 public String toString() {
38 return (memberType != null ? memberType.getAPIName() : "undefined") + " " + memberId;
39 }
40
41 /**
42 * PrimitiveId implementation. Returns the same value as {@link #getMemberType()}
43 */
44 @Override
45 public OsmPrimitiveType getType() {
46 return memberType;
47 }
48
49 /**
50 * PrimitiveId implementation. Returns the same value as {@link #getMemberId()()}
51 */
52 @Override
53 public long getUniqueId() {
54 return memberId;
55 }
56
57 @Override
58 public boolean isNew() {
59 return memberId <= 0;
60 }
61
62 @Override
63 public int hashCode() {
64 final int prime = 31;
65 int result = 1;
66 result = prime * result + (int) (memberId ^ (memberId >>> 32));
67 result = prime * result
68 + ((memberType == null) ? 0 : memberType.hashCode());
69 result = prime * result + ((role == null) ? 0 : role.hashCode());
70 return result;
71 }
72
73 @Override
74 public boolean equals(Object obj) {
75 if (this == obj)
76 return true;
77 if (obj == null)
78 return false;
79 if (getClass() != obj.getClass())
80 return false;
81 RelationMemberData other = (RelationMemberData) obj;
82 if (memberId != other.memberId)
83 return false;
84 if (memberType != other.memberType)
85 return false;
86 if (role == null) {
87 if (other.role != null)
88 return false;
89 } else if (!role.equals(other.role))
90 return false;
91 return true;
92 }
93}
Note: See TracBrowser for help on using the repository browser.