public class MappingManager extends Object
Constructor and Description |
---|
MappingManager(Session session)
Creates a new
MappingManager using the provided Session with default
MapperConfiguration . |
MappingManager(Session session,
MappingConfiguration configuration)
Creates a new
MappingManager using the provided Session with custom configuration
to be inherited to each instantiated mapper. |
MappingManager(Session session,
MappingConfiguration configuration,
ProtocolVersion protocolVersion)
Creates a new
MappingManager using the provided Session with default
MapperConfiguration . |
MappingManager(Session session,
ProtocolVersion protocolVersion)
Creates a new
MappingManager using the provided Session with default
MapperConfiguration . |
Modifier and Type | Method and Description |
---|---|
<T> T |
createAccessor(Class<T> klass)
Creates an accessor object based on the provided interface (that must be annotated by
a
Accessor annotation). |
MappingConfiguration |
getConfiguration()
Returns the
configuration used by this manager. |
Session |
getSession()
The underlying
Session used by this manager. |
<T> Mapper<T> |
mapper(Class<T> klass)
Creates a
Mapper for the provided class, using the default keyspace (either the one declared in the
Table annotation, or the logged keyspace on the session). |
<T> Mapper<T> |
mapper(Class<T> klass,
String keyspace)
Creates a
Mapper for the provided class (that must be annotated by a
Table annotation). |
<T> TypeCodec<T> |
udtCodec(Class<T> klass)
Creates a
TypeCodec for the provided class, using the default keyspace (either the one declared in the
Table annotation, or the logged keyspace on the session). |
<T> TypeCodec<T> |
udtCodec(Class<T> klass,
String keyspace)
Creates a
TypeCodec for the provided class (that must be annotated by
a UDT annotation). |
public MappingManager(Session session)
MappingManager
using the provided Session
with default
MapperConfiguration
.
Note that this constructor forces the initialization of the session (see
MappingManager(Session, ProtocolVersion)
if that is a problem for you).session
- the Session
to use.public MappingManager(Session session, ProtocolVersion protocolVersion)
MappingManager
using the provided Session
with default
MapperConfiguration
.
This constructor is only provided for backward compatibility: before 2.1.7, MappingManager
could be
built from an uninitialized session; since 2.1.7, the mapper needs to know the active protocol version to
adapt its internal requests, so MappingManager(Session)
will now initialize the session if needed.
If you rely on the session not being initialized, use this constructor and provide the version manually.session
- the Session
to use.protocolVersion
- the protocol version that will be used with this session.public MappingManager(Session session, MappingConfiguration configuration)
MappingManager
using the provided Session
with custom configuration
to be inherited to each instantiated mapper.
Note that this constructor forces the initialization of the session (see
MappingManager(Session, ProtocolVersion)
if that is a problem for you).session
- the Session
to use.configuration
- the MapperConfiguration
to use be used as default for instantiated mappers.public MappingManager(Session session, MappingConfiguration configuration, ProtocolVersion protocolVersion)
MappingManager
using the provided Session
with default
MapperConfiguration
.
This constructor is only provided for backward compatibility: before 2.1.7, MappingManager
could be
built from an uninitialized session; since 2.1.7, the mapper needs to know the active protocol version to
adapt its internal requests, so MappingManager(Session)
will now initialize the session if needed.
If you rely on the session not being initialized, use this constructor and provide the version manually.session
- the Session
to use.configuration
- the MapperConfiguration
to use be used as default for instantiated mappers.protocolVersion
- the protocol version that will be used with this session.public Session getSession()
Session
used by this manager.
Note that you can get obtain the Cluster
object corresponding
to that session using getSession().getCluster()
.
It is inadvisable to close the returned Session while this manager and
its mappers are in use.public MappingConfiguration getConfiguration()
configuration
used by this manager.configuration
used by this manager.public <T> Mapper<T> mapper(Class<T> klass, String keyspace)
Mapper
for the provided class (that must be annotated by a
Table
annotation).
The MappingManager
only ever keeps one Mapper for each class and keyspace, and so calling this
method multiple times on the same class will always return the same object.
If the type of any field in the class is an UDT
-annotated classes, a codec for that
class will automatically be created and registered with the underlying Cluster
.
This works recursively with UDTs nested in other UDTs or in collections.T
- the type of the class to map.klass
- the (annotated) class for which to return the mapper.keyspace
- the target keyspace for the mapping (must be quoted if case-sensitive). If this is null
,
the mapper will try to use the keyspace defined by the annotation, or the default keyspace on the
session, or fail if neither is declared.public <T> Mapper<T> mapper(Class<T> klass)
Mapper
for the provided class, using the default keyspace (either the one declared in the
Table
annotation, or the logged keyspace on the session).
This is equivalent to this.mapper(klass, null)
.mapper(Class, String)
public <T> TypeCodec<T> udtCodec(Class<T> klass, String keyspace)
TypeCodec
for the provided class (that must be annotated by
a UDT
annotation).
This method also registers the codec against the underlying Cluster
.
In addition, the codecs for any nested UDTs will also be created and registered.
You don't need to call this method explicitly if you already call mapper(Class)
for a class that references this UDT class (creating a mapper will automatically
process all UDTs that it uses).T
- the type of the class to map.klass
- the (annotated) class for which to return the codec.keyspace
- the target keyspace for the mapping (must be quoted if case-sensitive). If this is null
,
the mapper will try to use the keyspace defined by the annotation, or the default keyspace on the
session, or fail if neither is declared.public <T> TypeCodec<T> udtCodec(Class<T> klass)
TypeCodec
for the provided class, using the default keyspace (either the one declared in the
Table
annotation, or the logged keyspace on the session).
This is equivalent to this.udtCodec(klass, null)
.udtCodec(Class, String)
public <T> T createAccessor(Class<T> klass)
Accessor
annotation).
The MappingManager
only ever keep one Accessor for each class, and so calling this
method multiple time on the same class will always return the same object.T
- the type of the accessor class.klass
- the (annotated) class for which to create an accessor object.klass
.Copyright © 2012–2018. All rights reserved.