Package org.apache.calcite.avatica
Class AvaticaConnection
- java.lang.Object
-
- org.apache.calcite.avatica.AvaticaConnection
-
- All Implemented Interfaces:
java.lang.AutoCloseable,java.sql.Connection,java.sql.Wrapper
- Direct Known Subclasses:
AvaticaJdbc41Factory.AvaticaJdbc41Connection
public abstract class AvaticaConnection extends java.lang.Object implements java.sql.ConnectionImplementation of JDBC connection for the Avatica framework.Abstract to allow newer versions of JDBC to add methods.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceAvaticaConnection.CallableWithoutException<T>A Callable-like interface but without a "throws Exception".static classAvaticaConnection.TrojanA way to call package-protected methods.
-
Field Summary
Fields Modifier and Type Field Description private booleanclosedprotected UnregisteredDriverdriverprotected AvaticaFactoryfactory(package private) java.util.Map<java.lang.Integer,java.util.concurrent.atomic.AtomicBoolean>flagMapMeta.ConnectionHandlehandlestatic HelperHELPERprivate intholdabilityjava.lang.Stringidprotected java.util.Propertiesinfoprivate KerberosConnectionkerberosConnectionprotected longmaxRetriesPerExecuteprotected Metametaprotected AvaticaSpecificDatabaseMetaDatametaDataprivate intnetworkTimeoutstatic java.lang.StringNUM_EXECUTE_RETRIES_DEFAULTstatic java.lang.StringNUM_EXECUTE_RETRIES_KEYstatic java.lang.StringPLAN_COLUMN_NAMEThe name of the sole column returned by an EXPLAIN statement.java.util.Map<InternalProperty,java.lang.Object>propertiesstatic java.lang.StringROWCOUNT_COLUMN_NAMEThe name of the sole column returned by DML statements, containing the number of rows modified.private Serviceserviceprotected intstatementCountjava.util.Map<java.lang.Integer,AvaticaStatement>statementMap(package private) java.lang.Stringurl
-
Constructor Summary
Constructors Modifier Constructor Description protectedAvaticaConnection(UnregisteredDriver driver, AvaticaFactory factory, java.lang.String url, java.util.Properties info)Creates an AvaticaConnection.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidabort(java.util.concurrent.Executor executor)protected voidcheckOpen()voidclearWarnings()voidclose()voidcommit()ConnectionConfigconfig()Returns a view onto this connection's configuration properties.java.sql.ArraycreateArrayOf(java.lang.String typeName, java.lang.Object[] elements)java.sql.BlobcreateBlob()java.sql.ClobcreateClob()java.sql.NClobcreateNClob()protected java.sql.ResultSetcreateResultSet(Meta.MetaResultSet metaResultSet, QueryState state)java.sql.SQLXMLcreateSQLXML()AvaticaStatementcreateStatement()java.sql.StatementcreateStatement(int resultSetType, int resultSetConcurrency)AvaticaStatementcreateStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)java.sql.StructcreateStruct(java.lang.String typeName, java.lang.Object[] attributes)protected static AvaticaConnection.TrojancreateTrojan()protected long[]executeBatchUpdateInternal(AvaticaPreparedStatement pstmt)Executes a batch update using anAvaticaPreparedStatement.protected java.sql.ResultSetexecuteQueryInternal(AvaticaStatement statement, Meta.Signature signature, Meta.Frame firstFrame, QueryState state, boolean isUpdate)Executes a prepared query, closing any previously open result set.booleangetAutoCommit()java.util.concurrent.atomic.AtomicBooleangetCancelFlag(Meta.StatementHandle h)Returns or creates a slot whose state can be changed to cancel a statement.java.lang.StringgetCatalog()java.util.PropertiesgetClientInfo()java.lang.StringgetClientInfo(java.lang.String name)intgetHoldability()KerberosConnectiongetKerberosConnection()java.sql.DatabaseMetaDatagetMetaData()intgetNetworkTimeout()(package private) longgetNumStatementRetries(java.util.Properties props)Computes the number of retriesAvaticaStatement.executeInternal(Meta.Signature, boolean)should retry before failing.java.lang.StringgetSchema()ServicegetService()java.util.TimeZonegetTimeZone()Returns the time zone of this connection.intgetTransactionIsolation()java.util.Map<java.lang.String,java.lang.Class<?>>getTypeMap()java.sql.SQLWarninggetWarnings()<T> TinvokeWithRetries(AvaticaConnection.CallableWithoutException<T> callable)Invokes the given "callable", retrying the call when the server responds with an error denoting that the connection is missing on the server.booleanisClosed()booleanisReadOnly()private voidisUpdateCapable(AvaticaStatement statement)Returns whether a a statement is capable of updates and if so, and the statement'supdateCountis still -1, proceeds to get updateCount value from statement's resultSet.booleanisValid(int timeout)booleanisWrapperFor(java.lang.Class<?> iface)protected AvaticaStatementlookupStatement(Meta.StatementHandle h)Creates a statement wrapper around an existing handle.java.lang.StringnativeSQL(java.lang.String sql)voidopenConnection()Opens the connection on the server.protected Meta.ExecuteResultprepareAndExecuteInternal(AvaticaStatement statement, java.lang.String sql, long maxRowCount)protected Meta.ExecuteBatchResultprepareAndUpdateBatch(AvaticaStatement statement, java.util.List<java.lang.String> queries)java.sql.CallableStatementprepareCall(java.lang.String sql)java.sql.CallableStatementprepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency)java.sql.CallableStatementprepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)java.sql.PreparedStatementprepareStatement(java.lang.String sql)java.sql.PreparedStatementprepareStatement(java.lang.String sql, int autoGeneratedKeys)java.sql.PreparedStatementprepareStatement(java.lang.String sql, int[] columnIndexes)java.sql.PreparedStatementprepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency)java.sql.PreparedStatementprepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)java.sql.PreparedStatementprepareStatement(java.lang.String sql, java.lang.String[] columnNames)voidreleaseSavepoint(java.sql.Savepoint savepoint)voidrollback()voidrollback(java.sql.Savepoint savepoint)voidsetAutoCommit(boolean autoCommit)voidsetCatalog(java.lang.String catalog)voidsetClientInfo(java.lang.String name, java.lang.String value)voidsetClientInfo(java.util.Properties properties)voidsetHoldability(int holdability)voidsetKerberosConnection(KerberosConnection kerberosConnection)voidsetNetworkTimeout(java.util.concurrent.Executor executor, int milliseconds)voidsetReadOnly(boolean readOnly)java.sql.SavepointsetSavepoint()java.sql.SavepointsetSavepoint(java.lang.String name)voidsetSchema(java.lang.String schema)voidsetService(Service service)voidsetTransactionIsolation(int level)voidsetTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>> map)private Meta.ConnectionPropertiessync()private booleanunbox(java.lang.Boolean b, boolean defaultValue)Converts aBooleanto aboolean, with a default value.private intunbox(java.lang.Integer i, int defaultValue)Converts anIntegerto anint, with a default value.<T> Tunwrap(java.lang.Class<T> iface)
-
-
-
Field Detail
-
ROWCOUNT_COLUMN_NAME
public static final java.lang.String ROWCOUNT_COLUMN_NAME
The name of the sole column returned by DML statements, containing the number of rows modified.- See Also:
- Constant Field Values
-
NUM_EXECUTE_RETRIES_KEY
public static final java.lang.String NUM_EXECUTE_RETRIES_KEY
- See Also:
- Constant Field Values
-
NUM_EXECUTE_RETRIES_DEFAULT
public static final java.lang.String NUM_EXECUTE_RETRIES_DEFAULT
- See Also:
- Constant Field Values
-
PLAN_COLUMN_NAME
public static final java.lang.String PLAN_COLUMN_NAME
The name of the sole column returned by an EXPLAIN statement.Actually Avatica does not care what this column is called, but here is a useful place to define a suggested value.
- See Also:
- Constant Field Values
-
HELPER
public static final Helper HELPER
-
statementCount
protected int statementCount
-
closed
private boolean closed
-
holdability
private int holdability
-
networkTimeout
private int networkTimeout
-
kerberosConnection
private KerberosConnection kerberosConnection
-
service
private Service service
-
id
public final java.lang.String id
-
handle
public final Meta.ConnectionHandle handle
-
driver
protected final UnregisteredDriver driver
-
factory
protected final AvaticaFactory factory
-
url
final java.lang.String url
-
info
protected final java.util.Properties info
-
meta
protected final Meta meta
-
metaData
protected final AvaticaSpecificDatabaseMetaData metaData
-
properties
public final java.util.Map<InternalProperty,java.lang.Object> properties
-
statementMap
public final java.util.Map<java.lang.Integer,AvaticaStatement> statementMap
-
flagMap
final java.util.Map<java.lang.Integer,java.util.concurrent.atomic.AtomicBoolean> flagMap
-
maxRetriesPerExecute
protected final long maxRetriesPerExecute
-
-
Constructor Detail
-
AvaticaConnection
protected AvaticaConnection(UnregisteredDriver driver, AvaticaFactory factory, java.lang.String url, java.util.Properties info)
Creates an AvaticaConnection.Not public; method is called only from the driver or a derived class.
- Parameters:
driver- Driverfactory- Factory for JDBC objectsurl- Server URLinfo- Other connection properties
-
-
Method Detail
-
getNumStatementRetries
long getNumStatementRetries(java.util.Properties props)
Computes the number of retriesAvaticaStatement.executeInternal(Meta.Signature, boolean)should retry before failing.
-
config
public ConnectionConfig config()
Returns a view onto this connection's configuration properties. Code in Avatica and derived projects should use this view rather than callingProperties.getProperty(String). Derived projects will almost certainly subclassConnectionConfigwith their own properties.
-
openConnection
public void openConnection()
Opens the connection on the server.
-
checkOpen
protected void checkOpen() throws java.sql.SQLException- Throws:
java.sql.SQLException
-
createStatement
public AvaticaStatement createStatement() throws java.sql.SQLException
- Specified by:
createStatementin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
prepareStatement
public java.sql.PreparedStatement prepareStatement(java.lang.String sql) throws java.sql.SQLException- Specified by:
prepareStatementin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
prepareCall
public java.sql.CallableStatement prepareCall(java.lang.String sql) throws java.sql.SQLException- Specified by:
prepareCallin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
nativeSQL
public java.lang.String nativeSQL(java.lang.String sql) throws java.sql.SQLException- Specified by:
nativeSQLin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
setAutoCommit
public void setAutoCommit(boolean autoCommit) throws java.sql.SQLException- Specified by:
setAutoCommitin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
getAutoCommit
public boolean getAutoCommit() throws java.sql.SQLException- Specified by:
getAutoCommitin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
commit
public void commit() throws java.sql.SQLException- Specified by:
commitin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
rollback
public void rollback() throws java.sql.SQLException- Specified by:
rollbackin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
close
public void close() throws java.sql.SQLException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
isClosed
public boolean isClosed() throws java.sql.SQLException- Specified by:
isClosedin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
getMetaData
public java.sql.DatabaseMetaData getMetaData() throws java.sql.SQLException- Specified by:
getMetaDatain interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
setReadOnly
public void setReadOnly(boolean readOnly) throws java.sql.SQLException- Specified by:
setReadOnlyin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
isReadOnly
public boolean isReadOnly() throws java.sql.SQLException- Specified by:
isReadOnlyin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
setCatalog
public void setCatalog(java.lang.String catalog) throws java.sql.SQLException- Specified by:
setCatalogin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
getCatalog
public java.lang.String getCatalog() throws java.sql.SQLException- Specified by:
getCatalogin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
setTransactionIsolation
public void setTransactionIsolation(int level) throws java.sql.SQLException- Specified by:
setTransactionIsolationin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
getTransactionIsolation
public int getTransactionIsolation() throws java.sql.SQLException- Specified by:
getTransactionIsolationin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
getWarnings
public java.sql.SQLWarning getWarnings() throws java.sql.SQLException- Specified by:
getWarningsin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
clearWarnings
public void clearWarnings() throws java.sql.SQLException- Specified by:
clearWarningsin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
createStatement
public java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency) throws java.sql.SQLException- Specified by:
createStatementin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
prepareStatement
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency) throws java.sql.SQLException- Specified by:
prepareStatementin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
prepareCall
public java.sql.CallableStatement prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency) throws java.sql.SQLException- Specified by:
prepareCallin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
getTypeMap
public java.util.Map<java.lang.String,java.lang.Class<?>> getTypeMap() throws java.sql.SQLException- Specified by:
getTypeMapin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
setTypeMap
public void setTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>> map) throws java.sql.SQLException- Specified by:
setTypeMapin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
setHoldability
public void setHoldability(int holdability) throws java.sql.SQLException- Specified by:
setHoldabilityin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
getHoldability
public int getHoldability() throws java.sql.SQLException- Specified by:
getHoldabilityin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
setSavepoint
public java.sql.Savepoint setSavepoint() throws java.sql.SQLException- Specified by:
setSavepointin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
setSavepoint
public java.sql.Savepoint setSavepoint(java.lang.String name) throws java.sql.SQLException- Specified by:
setSavepointin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
rollback
public void rollback(java.sql.Savepoint savepoint) throws java.sql.SQLException- Specified by:
rollbackin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
releaseSavepoint
public void releaseSavepoint(java.sql.Savepoint savepoint) throws java.sql.SQLException- Specified by:
releaseSavepointin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
createStatement
public AvaticaStatement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws java.sql.SQLException
- Specified by:
createStatementin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
prepareStatement
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws java.sql.SQLException- Specified by:
prepareStatementin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
prepareCall
public java.sql.CallableStatement prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws java.sql.SQLException- Specified by:
prepareCallin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
prepareStatement
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, int autoGeneratedKeys) throws java.sql.SQLException- Specified by:
prepareStatementin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
prepareStatement
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, int[] columnIndexes) throws java.sql.SQLException- Specified by:
prepareStatementin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
prepareStatement
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, java.lang.String[] columnNames) throws java.sql.SQLException- Specified by:
prepareStatementin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
createClob
public java.sql.Clob createClob() throws java.sql.SQLException- Specified by:
createClobin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
createBlob
public java.sql.Blob createBlob() throws java.sql.SQLException- Specified by:
createBlobin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
createNClob
public java.sql.NClob createNClob() throws java.sql.SQLException- Specified by:
createNClobin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
createSQLXML
public java.sql.SQLXML createSQLXML() throws java.sql.SQLException- Specified by:
createSQLXMLin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
isValid
public boolean isValid(int timeout) throws java.sql.SQLException- Specified by:
isValidin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
setClientInfo
public void setClientInfo(java.lang.String name, java.lang.String value) throws java.sql.SQLClientInfoException- Specified by:
setClientInfoin interfacejava.sql.Connection- Throws:
java.sql.SQLClientInfoException
-
setClientInfo
public void setClientInfo(java.util.Properties properties) throws java.sql.SQLClientInfoException- Specified by:
setClientInfoin interfacejava.sql.Connection- Throws:
java.sql.SQLClientInfoException
-
getClientInfo
public java.lang.String getClientInfo(java.lang.String name) throws java.sql.SQLException- Specified by:
getClientInfoin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
getClientInfo
public java.util.Properties getClientInfo() throws java.sql.SQLException- Specified by:
getClientInfoin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
createArrayOf
public java.sql.Array createArrayOf(java.lang.String typeName, java.lang.Object[] elements) throws java.sql.SQLException- Specified by:
createArrayOfin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
createStruct
public java.sql.Struct createStruct(java.lang.String typeName, java.lang.Object[] attributes) throws java.sql.SQLException- Specified by:
createStructin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
setSchema
public void setSchema(java.lang.String schema) throws java.sql.SQLException- Specified by:
setSchemain interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
getSchema
public java.lang.String getSchema() throws java.sql.SQLException- Specified by:
getSchemain interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
abort
public void abort(java.util.concurrent.Executor executor) throws java.sql.SQLException- Specified by:
abortin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
setNetworkTimeout
public void setNetworkTimeout(java.util.concurrent.Executor executor, int milliseconds) throws java.sql.SQLException- Specified by:
setNetworkTimeoutin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
getNetworkTimeout
public int getNetworkTimeout() throws java.sql.SQLException- Specified by:
getNetworkTimeoutin interfacejava.sql.Connection- Throws:
java.sql.SQLException
-
unwrap
public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException- Specified by:
unwrapin interfacejava.sql.Wrapper- Throws:
java.sql.SQLException
-
isWrapperFor
public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException- Specified by:
isWrapperForin interfacejava.sql.Wrapper- Throws:
java.sql.SQLException
-
getTimeZone
public java.util.TimeZone getTimeZone()
Returns the time zone of this connection. Determines the offset applied when converting datetime values from the database intoTimestampvalues.
-
executeQueryInternal
protected java.sql.ResultSet executeQueryInternal(AvaticaStatement statement, Meta.Signature signature, Meta.Frame firstFrame, QueryState state, boolean isUpdate) throws java.sql.SQLException
Executes a prepared query, closing any previously open result set.- Parameters:
statement- Statementsignature- Prepared queryfirstFrame- First frame of rows, or null if we need to executestate- The state used to create the given resultisUpdate- Was the caller context viaPreparedStatement.executeUpdate().- Returns:
- Result set
- Throws:
java.sql.SQLException- if a database error occurs
-
executeBatchUpdateInternal
protected long[] executeBatchUpdateInternal(AvaticaPreparedStatement pstmt) throws java.sql.SQLException
Executes a batch update using anAvaticaPreparedStatement.- Parameters:
pstmt- The prepared statement.- Returns:
- An array of update counts containing one element for each command in the batch.
- Throws:
java.sql.SQLException
-
isUpdateCapable
private void isUpdateCapable(AvaticaStatement statement) throws java.sql.SQLException
Returns whether a a statement is capable of updates and if so, and the statement'supdateCountis still -1, proceeds to get updateCount value from statement's resultSet.Handles "ROWCOUNT" object as Number or List
- Parameters:
statement- Statement- Throws:
java.sql.SQLException- on error
-
prepareAndExecuteInternal
protected Meta.ExecuteResult prepareAndExecuteInternal(AvaticaStatement statement, java.lang.String sql, long maxRowCount) throws java.sql.SQLException, NoSuchStatementException
- Throws:
java.sql.SQLExceptionNoSuchStatementException
-
prepareAndUpdateBatch
protected Meta.ExecuteBatchResult prepareAndUpdateBatch(AvaticaStatement statement, java.util.List<java.lang.String> queries) throws NoSuchStatementException, java.sql.SQLException
- Throws:
NoSuchStatementExceptionjava.sql.SQLException
-
createResultSet
protected java.sql.ResultSet createResultSet(Meta.MetaResultSet metaResultSet, QueryState state) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
lookupStatement
protected AvaticaStatement lookupStatement(Meta.StatementHandle h) throws java.sql.SQLException
Creates a statement wrapper around an existing handle.- Throws:
java.sql.SQLException
-
createTrojan
protected static AvaticaConnection.Trojan createTrojan()
-
unbox
private boolean unbox(java.lang.Boolean b, boolean defaultValue)Converts aBooleanto aboolean, with a default value.
-
unbox
private int unbox(java.lang.Integer i, int defaultValue)Converts anIntegerto anint, with a default value.
-
sync
private Meta.ConnectionProperties sync()
-
getCancelFlag
public java.util.concurrent.atomic.AtomicBoolean getCancelFlag(Meta.StatementHandle h) throws NoSuchStatementException
Returns or creates a slot whose state can be changed to cancel a statement. Statements will receive the same slot if and only if their id is the same.- Throws:
NoSuchStatementException
-
invokeWithRetries
public <T> T invokeWithRetries(AvaticaConnection.CallableWithoutException<T> callable)
Invokes the given "callable", retrying the call when the server responds with an error denoting that the connection is missing on the server.- Parameters:
callable- The function to invoke.- Returns:
- The value from the result of the callable.
-
setKerberosConnection
public void setKerberosConnection(KerberosConnection kerberosConnection)
-
getKerberosConnection
public KerberosConnection getKerberosConnection()
-
getService
public Service getService()
-
setService
public void setService(Service service)
-
-