Package org.spongepowered.api.data.value
Interface CollectionValue<E,C extends Collection<E>>
- Type Parameters:
E
- The type of elementC
- The type of collection
- All Known Subinterfaces:
CollectionValue.Immutable<E,
,C, I, M> CollectionValue.Mutable<E,
,C, M, I> ListValue<E>
,ListValue.Immutable<E>
,ListValue.Mutable<E>
,SetValue<E>
,SetValue.Immutable<E>
,SetValue.Mutable<E>
,WeightedCollectionValue<E>
,WeightedCollectionValue.Immutable<E>
,WeightedCollectionValue.Mutable<E>
A
Collection
based Value
type. Since some collections
are complex, or can be empty
, this exposes
some of the common methods found in Collection
and it itself
is Iterable
. This is the base class for the common collections,
like ListValue
and SetValue
.-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
CollectionValue.Immutable<E,
C extends Collection<E>, I extends CollectionValue.Immutable<E, C, I, M>, M extends CollectionValue.Mutable<E, C, M, I>> static interface
CollectionValue.Mutable<E,
C extends Collection<E>, M extends CollectionValue.Mutable<E, C, M, I>, I extends CollectionValue.Immutable<E, C, I, M>> Represents aValue.Mutable
that is backed by aCollection
of elements.Nested classes/interfaces inherited from interface org.spongepowered.api.data.value.Value
Value.Factory
-
Method Summary
Modifier and TypeMethodDescriptionall()
Creates a newCollection
of the proper typeC
with all elements copied to the new collection.CollectionValue.Immutable<E,
C, ?, ?> Retrieves an immutable form of this value.CollectionValue.Mutable<E,
C, ?, ?> Retrieves a mutable form of this value.CollectionValue.Mutable<E,
C, ?, ?> Retrieves a copy in the mutable form of this value.boolean
Checks if the givenE
element is contained within the backedCollection
.boolean
containsAll
(Iterable<E> iterable) Checks if all of the given elements in the providedIterable
are contained within the backedCollection
.boolean
isEmpty()
Checks if the backedCollection
is empty.int
size()
Gets the size of the underlying collection of elements.Methods inherited from interface java.lang.Iterable
forEach, iterator, spliterator
-
Method Details
-
size
int size()Gets the size of the underlying collection of elements.- Returns:
- The size
-
isEmpty
boolean isEmpty()Checks if the backedCollection
is empty.- Returns:
- True if the collection is empty
- See Also:
-
contains
Checks if the givenE
element is contained within the backedCollection
.- Parameters:
element
- The element to check- Returns:
- True if the element is contained in this collection
-
containsAll
Checks if all of the given elements in the providedIterable
are contained within the backedCollection
.- Parameters:
iterable
- The iterable elements- Returns:
- True if all elements are contained within the backed collection
-
all
C all()Creates a newCollection
of the proper typeC
with all elements copied to the new collection. Any modifications to the new collection are not reflected to thisCollectionValue.Mutable
. Likewise, no modifications to thisCollectionValue.Mutable
are reflected to the returnedCollection
.- Returns:
- A new collection with all elements copied
-
asMutable
CollectionValue.Mutable<E,C, asMutable()?, ?> Description copied from interface:Value
Retrieves a mutable form of this value. Due to the vague nature of the value itself, some cases can already provide aValue.Mutable
instance where this would simply return itself. In other cases, where the retrieved value is anValue.Immutable
instance, a new mutable value is created with the same key and values. -
asMutableCopy
CollectionValue.Mutable<E,C, asMutableCopy()?, ?> Description copied from interface:Value
Retrieves a copy in the mutable form of this value. The new is created with the same key and values.- Specified by:
asMutableCopy
in interfaceValue<E>
- Returns:
- A mutable value
-
asImmutable
CollectionValue.Immutable<E,C, asImmutable()?, ?> Description copied from interface:Value
Retrieves an immutable form of this value. Due to the vague nature of the value itself, some cases can already provide aValue.Immutable
instance where this would simply return itself. In other cases, where the retrieved value is aValue.Mutable
instance, a new immutable value is created with the same key and values.- Specified by:
asImmutable
in interfaceValue<E>
- Returns:
- An immutable value
-