- All Implemented Interfaces:
Iterable<ProtocolDescriptor>
In general, getProtocols(String)
should be used with the enableProtocol
connection property value.
- Since:
- 3.0
- Author:
- Mark Rotteveel
-
Method Summary
Modifier and TypeMethodDescriptionstatic ProtocolCollection
create
(ProtocolDescriptor... descriptors) Creates a ProtocolCollection with the specified ProtocolDescriptors.static ProtocolCollection
Returns the available ProtocolCollection.int
getProtocolDescriptor
(int protocolVersion) static ProtocolCollection
getProtocols
(String enableProtocol) Returns the protocol collection consisting of the supported protocol versions and the additional protocol versions defined by theenableProtocol
connection string property.Get a list with the protocol versions in this collection.static ProtocolCollection
Returns the supported ProtocolCollection.iterator()
stream()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Method Details
-
iterator
- Specified by:
iterator
in interfaceIterable<ProtocolDescriptor>
-
getProtocolDescriptor
- Parameters:
protocolVersion
- Version of the protocol- Returns:
- ProtocolDescriptor for the specified version, or null if the version is not in this ProtocolCollection
-
getProtocolCount
public int getProtocolCount()- Returns:
- The protocol count
-
getProtocolVersions
Get a list with the protocol versions in this collection.The returned List is created fresh on every call. Changes to the list have no effect on this object.
- Returns:
- Protocol version numbers
-
stream
- Returns:
- stream of the protocol descriptors held by this protocol collection
- Since:
- 6
-
create
Creates a ProtocolCollection with the specified ProtocolDescriptors.If
descriptors
contains multiple implementations with the same value forProtocolDescriptor.getVersion()
, then the first implementation with the highest value forProtocolDescriptor.getWeight()
will be loaded into the collection.- Parameters:
descriptors
- Vararg parameter with ProtocolDescriptors- Returns:
- ProtocolCollection
-
getSupportedProtocols
Returns the supported ProtocolCollection.The supported ProtocolCollection is created when this class is loaded by the classloader.
The returned collection is a subset of
getAvailableProtocols()
, retaining only the supported protocol versions.- Returns:
- supported ProtocolCollection
- Since:
- 6
- See Also:
-
getAvailableProtocols
Returns the available ProtocolCollection.The available ProtocolCollection is created when this class is loaded by the classloader.
This implementation uses the
ServiceLoader
to load the collection based on allProtocolDescriptor
implementations found using all the/META-INF/services/org.firebirdsql.gds.ng.wire.ProtocolDescriptor
in the classpath. If multiple implementations with the same value forProtocolDescriptor.getVersion()
are found, then the first implementation with the highest value forProtocolDescriptor.getWeight()
will be loaded into the default collection.- Returns:
- available ProtocolCollection
- Since:
- 6
- See Also:
-
getProtocols
Returns the protocol collection consisting of the supported protocol versions and the additional protocol versions defined by theenableProtocol
connection string property.- Parameters:
enableProtocol
- enable protocol connection property value, seeAttachmentProperties.getEnableProtocol()
.- Returns:
- supported protocols and the available additional protocols listed in
enableProtocol
- Since:
- 6
-