Package org.apache.cassandra.schema
Class Indexes
- java.lang.Object
-
- org.apache.cassandra.schema.Indexes
-
- All Implemented Interfaces:
java.lang.Iterable<IndexMetadata>
public final class Indexes extends java.lang.Object implements java.lang.Iterable<IndexMetadata>
For backwards compatibility, in the first instance an IndexMetadata must have TargetType.COLUMN and its Set of target columns must contain only a single ColumnIdentifier. Hence, this is what is enforced by the public factory methods on IndexMetadata. These constraints, along with the internal datastructures here will be relaxed as support is added for multiple target columns per-index and for indexes with TargetType.ROW
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Indexes.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Indexes.Builder
builder()
boolean
equals(java.lang.Object o)
java.util.Optional<IndexMetadata>
get(java.lang.String name)
Get the index with the specified namejava.util.Optional<IndexMetadata>
get(java.util.UUID id)
Get the index with the specified idboolean
has(java.lang.String name)
Answer true if contains an index with the specified name.boolean
has(java.util.UUID id)
Answer true if contains an index with the specified id.int
hashCode()
boolean
isEmpty()
java.util.Iterator<IndexMetadata>
iterator()
static Indexes
none()
static Indexes
of(java.lang.Iterable<IndexMetadata> indexes)
static Indexes
of(IndexMetadata... indexes)
Indexes
replace(IndexMetadata index)
Creates a SecondaryIndexes instance which contains an updated index definitionint
size()
java.util.stream.Stream<IndexMetadata>
stream()
java.lang.String
toString()
void
validate(TableMetadata table)
Indexes
with(IndexMetadata index)
Create a SecondaryIndexes instance with the provided index addedIndexes
without(java.lang.String name)
Creates a SecondaryIndexes instance with the index with the provided name removed
-
-
-
Method Detail
-
builder
public static Indexes.Builder builder()
-
none
public static Indexes none()
-
of
public static Indexes of(IndexMetadata... indexes)
-
of
public static Indexes of(java.lang.Iterable<IndexMetadata> indexes)
-
iterator
public java.util.Iterator<IndexMetadata> iterator()
- Specified by:
iterator
in interfacejava.lang.Iterable<IndexMetadata>
-
stream
public java.util.stream.Stream<IndexMetadata> stream()
-
size
public int size()
-
isEmpty
public boolean isEmpty()
-
get
public java.util.Optional<IndexMetadata> get(java.lang.String name)
Get the index with the specified name- Parameters:
name
- a non-qualified index name- Returns:
- an empty
Optional
if the named index is not found; a non-empty optional ofIndexMetadata
otherwise
-
has
public boolean has(java.lang.String name)
Answer true if contains an index with the specified name.- Parameters:
name
- a non-qualified index name.- Returns:
- true if the named index is found; false otherwise
-
get
public java.util.Optional<IndexMetadata> get(java.util.UUID id)
Get the index with the specified id- Parameters:
id
- a UUID which identifies an index- Returns:
- an empty
Optional
if no index with the specified id is found; a non-empty optional ofIndexMetadata
otherwise
-
has
public boolean has(java.util.UUID id)
Answer true if contains an index with the specified id.- Parameters:
id
- a UUID which identifies an index.- Returns:
- true if an index with the specified id is found; false otherwise
-
with
public Indexes with(IndexMetadata index)
Create a SecondaryIndexes instance with the provided index added
-
without
public Indexes without(java.lang.String name)
Creates a SecondaryIndexes instance with the index with the provided name removed
-
replace
public Indexes replace(IndexMetadata index)
Creates a SecondaryIndexes instance which contains an updated index definition
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
validate
public void validate(TableMetadata table)
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-