- All Superinterfaces:
AutoCloseable,ExceptionListenable
- All Known Subinterfaces:
FbDatabase,FbService,FbWireAttachment,FbWireDatabase,FbWireService
- All Known Implementing Classes:
AbstractFbAttachment,AbstractFbDatabase,AbstractFbService,AbstractFbWireDatabase,AbstractFbWireService,V10Database,V10Service,V11Database,V12Database,V13Database,V15Database,V16Database,V18Database
Connection to a Firebird server (to a database or service).
All methods defined in this interface and the direct descendants FbDatabase and FbService are
required to notify all SQLException thrown from the methods defined in this interface, and those exceptions
notified by all ExceptionListenable implementations created from them.
- Since:
- 3.0
- Author:
- Mark Rotteveel
-
Method Summary
Modifier and TypeMethodDescriptionvoidattach()Attach to the attachment type.voidclose()Detaches and closes the connection.voidForces the connection to close without proper detach or cleanup.intintGets the current network timeout for this attachment.booleanCurrent attachment status.booleanQueries if the lock is held by the current thread.voidsetNetworkTimeout(int milliseconds) Sets the network timeout for this attachment.withLock()Locks the lock withLock.lock()(or equivalent).Methods inherited from interface org.firebirdsql.gds.ng.listeners.ExceptionListenable
addExceptionListener, removeExceptionListener
-
Method Details
-
attach
Attach to the attachment type.- Throws:
SQLException
-
close
Detaches and closes the connection.- Specified by:
closein interfaceAutoCloseable- Throws:
SQLException- If not currently connected, or another problem occurred detaching.
-
forceClose
Forces the connection to close without proper detach or cleanup.If a given implementation does not support this, then this method should call
close().- Throws:
SQLException- For problems closing the connection.
-
getHandle
int getHandle()- Returns:
- The attachment handle value
-
getServerVersion
GDSServerVersion getServerVersion()- Returns:
- Firebird version string
-
isAttached
boolean isAttached()Current attachment status.- Returns:
trueif connected to the server and attached to a database or service,falseotherwise.
-
getEncodingFactory
IEncodingFactory getEncodingFactory()- Returns:
- The
IEncodingFactoryfor this connection
-
getEncoding
Encoding getEncoding()- Returns:
- The connection encoding (should be the same as returned from calling
IEncodingFactory.getDefaultEncoding()on the result ofgetEncodingFactory()).
-
getDatatypeCoder
DatatypeCoder getDatatypeCoder()- Returns:
- The
DatatypeCoderfor this database implementation.
-
setNetworkTimeout
Sets the network timeout for this attachment.- Parameters:
milliseconds- Timeout in milliseconds; 0 means no timeout. If the attachment doesn't support milliseconds, it should round up to the nearest second.- Throws:
SQLException- If this attachment is closed, the value ofmillisecondsis smaller than 0, or if setting the timeout fails.SQLFeatureNotSupportedException- If this attachment doesn't support (changing) the network timeout.
-
getNetworkTimeout
Gets the current network timeout for this attachment.- Returns:
- Timeout in milliseconds, 0 means no timeout
- Throws:
SQLException- If this attachment is closedSQLFeatureNotSupportedException- If this attachment doesn't support network timeout
-
withLock
LockCloseable withLock()Locks the lock withLock.lock()(or equivalent).The returned
LockClosablecan be used to unlock, preferably for use in a try-with-resources.- Returns:
- lock closeable which unlocks the lock on close
-
isLockedByCurrentThread
boolean isLockedByCurrentThread()Queries if the lock is held by the current thread.- Returns:
trueif current thread holds this lock andfalseotherwise- See Also:
-