- All Implemented Interfaces:
Iterable<ImmutablePart>
,Collection<ImmutablePart>
,List<ImmutablePart>
,SequencedCollection<ImmutablePart>
ImmutableParts
that compose a Multipart
geometry
(Polygon or Polyline). Use the ImmutablePartCollection returned from Multipart.getParts()
to iterate through
all of the parts in a Multipart.
Because geometries themselves are immutable, the collections they are composed of are also immutable. For
geometry editing or creation workflows, a mutable PartCollection
is used instead. PartCollection has
constructors that take an ImmutablePartCollection, allowing creation of new geometries from parts of existing ones.
- Since:
- 100.0.0
- See Also:
-
Field Summary
Fields inherited from class java.util.AbstractList
modCount
-
Method Summary
Modifier and TypeMethodDescriptionget
(int index) Gets the ImmutablePart at the given index position in this ImmutablePartCollection.Returns a copy of an iterable containing all the Points in all of the parts of this ImmutablePartCollection, ordered continuously from the first to last part in this collection.Gets the SpatialReference of geometries in the parts in this collection.int
boolean
isEmpty()
int
size()
Returns the number ofImmutableParts
in this ImmutablePartCollection.Methods inherited from class java.util.AbstractList
add, add, addAll, clear, equals, hashCode, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, remove, removeAll, retainAll, toArray, toArray, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
Methods inherited from interface java.util.List
addAll, addFirst, addLast, contains, containsAll, getFirst, getLast, remove, removeAll, removeFirst, removeLast, replaceAll, retainAll, reversed, sort, spliterator, toArray, toArray
-
Method Details
-
getSpatialReference
Gets the SpatialReference of geometries in the parts in this collection. TheSpatialReference
defines how the coordinates of the geometries correspond to locations in the real world. May be null.- Returns:
- the SpatialReference of the geometries in the parts in this collection
- Since:
- 100.0.0
-
get
Gets the ImmutablePart at the given index position in this ImmutablePartCollection. Use this to access the individual immutable parts that compose a Multipart geometry.- Specified by:
get
in interfaceList<ImmutablePart>
- Specified by:
get
in classAbstractList<ImmutablePart>
- Parameters:
index
- the index of the ImmutablePart to return- Returns:
- the ImmutablePart at the given index
- Throws:
IndexOutOfBoundsException
- ifindex < 0 || index >= size()
- Since:
- 100.0.0
-
getPartsAsPoints
Returns a copy of an iterable containing all the Points in all of the parts of this ImmutablePartCollection, ordered continuously from the first to last part in this collection. If the ImmutablePartCollectionisEmpty()
, this method returns an empty iterable.The points represent the ends of the Segments in all of the ImmutableParts in this collection (all the vertices in the Multipart geometry. Where two adjacent segments share a start and end location (there is no gap between the segments), this is represented by a single Point.
Alternatively, to iterate the Points in each part separately, call
get
orjava.util.AbstractList.iterator()
to get anImmutablePart
, then callImmutablePart.getPoint(int)
orImmutablePart.getPoints()
.- Returns:
- an iterable set of all the Points in all the parts of this ImmutablePartCollection
- Since:
- 100.0.0
-
size
public int size()Returns the number ofImmutableParts
in this ImmutablePartCollection. Use this to find the maximum index for callingget(int)
.- Specified by:
size
in interfaceCollection<ImmutablePart>
- Specified by:
size
in interfaceList<ImmutablePart>
- Specified by:
size
in classAbstractCollection<ImmutablePart>
- Since:
- 100.0.0
- See Also:
-
indexOf
- Specified by:
indexOf
in interfaceList<ImmutablePart>
- Overrides:
indexOf
in classAbstractList<ImmutablePart>
-
isEmpty
public boolean isEmpty()- Specified by:
isEmpty
in interfaceCollection<ImmutablePart>
- Specified by:
isEmpty
in interfaceList<ImmutablePart>
- Overrides:
isEmpty
in classAbstractCollection<ImmutablePart>
-