Class ProtocolCollection
- java.lang.Object
-
- org.firebirdsql.gds.ng.wire.ProtocolCollection
-
- All Implemented Interfaces:
java.lang.Iterable<ProtocolDescriptor>
public final class ProtocolCollection extends java.lang.Object implements java.lang.Iterable<ProtocolDescriptor>
Collection of protocols for a connect request.In general use
getDefaultCollection()
to retrieve the default collection.- Since:
- 3.0
- Author:
- Mark Rotteveel
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ProtocolCollection
create(ProtocolDescriptor... descriptors)
Creates a ProtocolCollection with the specified ProtocolDescriptors.static ProtocolCollection
getDefaultCollection()
Returns the default ProtocolCollection.int
getProtocolCount()
ProtocolDescriptor
getProtocolDescriptor(int protocolVersion)
java.util.List<java.lang.Integer>
getProtocolVersions()
Get a list with the protocol versions in this collection.java.util.Iterator<ProtocolDescriptor>
iterator()
-
-
-
Method Detail
-
iterator
public java.util.Iterator<ProtocolDescriptor> iterator()
- Specified by:
iterator
in interfacejava.lang.Iterable<ProtocolDescriptor>
-
getProtocolDescriptor
public ProtocolDescriptor getProtocolDescriptor(int protocolVersion)
- 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
public java.util.List<java.lang.Integer> 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
-
create
public static ProtocolCollection create(ProtocolDescriptor... descriptors)
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
-
getDefaultCollection
public static ProtocolCollection getDefaultCollection()
Returns the default ProtocolCollection.The default ProtocolCollection is created when this class is loaded by the classloader.
This implementation uses the
ServiceLoader
to load the default 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:
- The default ProtocolCollection
- See Also:
create(ProtocolDescriptor...)
-
-