public class Metadata extends Object
Modifier and Type | Method and Description |
---|---|
boolean |
checkSchemaAgreement()
Checks whether hosts that are currently up agree on the schema definition.
|
String |
exportSchemaAsString()
Returns a
String containing CQL queries representing the schema
of this cluster. |
Set<Host> |
getAllHosts()
Returns the known hosts of this cluster.
|
String |
getClusterName()
The Cassandra name for the cluster connect to.
|
KeyspaceMetadata |
getKeyspace(String keyspace)
Returns the metadata of a keyspace given its name.
|
List<KeyspaceMetadata> |
getKeyspaces()
Returns a list of all the defined keyspaces.
|
String |
getPartitioner()
The partitioner in use as reported by the Cassandra nodes.
|
Set<Host> |
getReplicas(String keyspace,
ByteBuffer partitionKey)
Returns the set of hosts that are replica for a given partition key.
|
Set<Host> |
getReplicas(String keyspace,
TokenRange range)
Returns the set of hosts that are replica for a given token range.
|
Set<TokenRange> |
getTokenRanges()
Returns the token ranges that define data distribution in the ring.
|
Set<TokenRange> |
getTokenRanges(String keyspace,
Host host)
Returns the token ranges that are replicated on the given host, for the given
keyspace.
|
Token |
newToken(String tokenStr)
Builds a new
Token from its string representation, according to the partitioner
reported by the Cassandra nodes. |
TokenRange |
newTokenRange(Token start,
Token end)
Builds a new
TokenRange . |
TupleType |
newTupleType(DataType... types)
Creates a tuple type given a list of types.
|
static String |
quote(String id)
Quote a keyspace, table or column identifier to make it case sensitive.
|
public static String quote(String id)
CQL identifiers, including keyspace, table and column ones, are case insensitive by default. Case sensitive identifiers can however be provided by enclosing the identifier in double quotes (see the CQL documentation for details). If you are using case sensitive identifiers, this method can be used to enclose such identifier in double quotes, making it case sensitive.
id
- the keyspace or table identifier.id
enclosed in double-quotes, for use in methods like
getReplicas(java.lang.String, java.nio.ByteBuffer)
, getKeyspace(java.lang.String)
, KeyspaceMetadata.getTable(java.lang.String)
or even Cluster.connect(String)
.public Set<TokenRange> getTokenRanges()
Note that this information is refreshed asynchronously by the control connection, when schema or ring topology changes. It might occasionally be stale.
public Set<TokenRange> getTokenRanges(String keyspace, Host host)
Note that this information is refreshed asynchronously by the control connection, when schema or ring topology changes. It might occasionally be stale (or even empty).
keyspace
- the name of the keyspace to get token ranges for.host
- the host.host
as known
by the driver.public Set<Host> getReplicas(String keyspace, ByteBuffer partitionKey)
Note that this information is refreshed asynchronously by the control connection, when schema or ring topology changes. It might occasionally be stale (or even empty).
keyspace
- the name of the keyspace to get replicas for.partitionKey
- the partition key for which to find the set of
replica.partitionKey
as known
by the driver.public Set<Host> getReplicas(String keyspace, TokenRange range)
Note that this information is refreshed asynchronously by the control connection, when schema or ring topology changes. It might occasionally be stale (or even empty).
keyspace
- the name of the keyspace to get replicas for.range
- the token range.range
as known by the driver.public String getClusterName()
public String getPartitioner()
public Set<Host> getAllHosts()
public boolean checkSchemaAgreement()
This method performs a one-time check only, without any form of retry; therefore Cluster.Builder.withMaxSchemaAgreementWaitSeconds(int)
does not apply in this case.
true
if all hosts agree on the schema; false
if they don't agree, or if the check could not be performed
(for example, if the control connection is down).public KeyspaceMetadata getKeyspace(String keyspace)
keyspace
- the name of the keyspace for which metadata should be
returned.null
if keyspace
is not a known keyspace.public List<KeyspaceMetadata> getKeyspaces()
public String exportSchemaAsString()
String
containing CQL queries representing the schema
of this cluster.
In other words, this method returns the queries that would allow to
recreate the schema of this cluster.
Note that the returned String is formatted to be human readable (for
some definition of human readable at least).public TupleType newTupleType(DataType... types)
types
- the types for the tuple type.public Token newToken(String tokenStr)
Token
from its string representation, according to the partitioner
reported by the Cassandra nodes.tokenStr
- the string representation.public TokenRange newTokenRange(Token start, Token end)
TokenRange
.start
- the start token.end
- the end token.Copyright © 2012–2015. All rights reserved.