Class ImmutablePartCollection
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<ImmutablePart>
-
- com.esri.arcgisruntime.geometry.ImmutablePartCollection
-
- All Implemented Interfaces:
Iterable<ImmutablePart>
,Collection<ImmutablePart>
,List<ImmutablePart>
public final class ImmutablePartCollection extends AbstractList<ImmutablePart>
Represents an immutable collection ofImmutableParts
that compose aMultipart
geometry (Polygon or Polyline). Use the ImmutablePartCollection returned fromMultipart.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:
Polyline
,Polygon
,Multipart.getParts()
,PartCollection
,Part
-
-
Field Summary
-
Fields inherited from class java.util.AbstractList
modCount
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ImmutablePart
get(int index)
Gets the ImmutablePart at the given index position in this ImmutablePartCollection.Iterable<Point>
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.SpatialReference
getSpatialReference()
Gets the SpatialReference of geometries in the parts in this collection.int
indexOf(Object o)
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, contains, containsAll, remove, removeAll, replaceAll, retainAll, sort, spliterator, toArray, toArray
-
-
-
-
Method Detail
-
getSpatialReference
public SpatialReference 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
public ImmutablePart get(int index)
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
public Iterable<Point> 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:
get(int)
-
indexOf
public int indexOf(Object o)
- 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>
-
-