Changeset 11038 in josm for trunk/src/org/openstreetmap/josm/data/osm/Relation.java
- Timestamp:
- 2016-09-21T21:37:13+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/osm/Relation.java
r10728 r11038 10 10 import java.util.Map; 11 11 import java.util.Set; 12 import java.util.stream.Collectors; 12 13 13 14 import org.openstreetmap.josm.Main; … … 72 73 } 73 74 75 /** 76 * Returns the relation member at the specified index. 77 * @param index the index of the relation member 78 * @return relation member at the specified index 79 */ 74 80 public RelationMember getMember(int index) { 75 81 return members[index]; 76 82 } 77 83 84 /** 85 * Adds the specified relation member at the last position. 86 * @param member the member to add 87 */ 78 88 public void addMember(RelationMember member) { 79 89 boolean locked = writeLock(); … … 88 98 } 89 99 100 /** 101 * Adds the specified relation member at the specified index. 102 * @param member the member to add 103 * @param index the index at which the specified element is to be inserted 104 */ 90 105 public void addMember(int index, RelationMember member) { 91 106 boolean locked = writeLock(); … … 383 398 * @return the set of {@link OsmPrimitive}s referred to by at least one 384 399 * member of this relation 400 * @see #getMemberPrimitivesList() 385 401 */ 386 402 public Set<OsmPrimitive> getMemberPrimitives() { 387 Set<OsmPrimitive> ret = new HashSet<>(); 388 RelationMember[] members = this.members; 389 for (RelationMember m: members) { 390 if (m.getMember() != null) { 391 ret.add(m.getMember()); 392 } 393 } 394 return ret; 395 } 396 403 return getMembers().stream().map(RelationMember::getMember).collect(Collectors.toSet()); 404 } 405 406 /** 407 * Returns the {@link OsmPrimitive}s of the specified type referred to by at least one member of this relation. 408 * @param tClass the type of the primitive 409 * @param <T> the type of the primitive 410 * @return the primitives 411 */ 397 412 public <T extends OsmPrimitive> Collection<T> getMemberPrimitives(Class<T> tClass) { 398 return Utils.filteredCollection(getMemberPrimitives(), tClass); 399 } 400 413 return Utils.filteredCollection(getMemberPrimitivesList(), tClass); 414 } 415 416 /** 417 * Returns an unmodifiable list of the {@link OsmPrimitive}s referred to by at least one member of this relation. 418 * @return an unmodifiable list of the primitives 419 */ 401 420 public List<OsmPrimitive> getMemberPrimitivesList() { 402 421 return Utils.transform(getMembers(), RelationMember::getMember); … … 549 568 protected void keysChangedImpl(Map<String, String> originalKeys) { 550 569 super.keysChangedImpl(originalKeys); 551 for (OsmPrimitive member : getMemberPrimitives ()) {570 for (OsmPrimitive member : getMemberPrimitivesList()) { 552 571 member.clearCachedStyle(); 553 572 }
Note:
See TracChangeset
for help on using the changeset viewer.