C - the connection typepublic class TestProtocol<C> extends TransportProtocol
Remote repositories are registered using register(Object,
Repository), after which they can be accessed using the returned URI. As
this class provides both the client side (the protocol) and the server side,
the caller is responsible for setting up and passing the connection context,
whatever form that may take.
Unlike the other built-in protocols, which are automatically-registered
singletons, callers are expected to register/unregister specific protocol
instances on demand with Transport.register(TransportProtocol).
TransportProtocol.URIishField| Constructor and Description |
|---|
TestProtocol(UploadPackFactory<C> uploadPackFactory,
ReceivePackFactory<C> receivePackFactory) |
| Modifier and Type | Method and Description |
|---|---|
String |
getName() |
Set<TransportProtocol.URIishField> |
getOptionalFields() |
Set<TransportProtocol.URIishField> |
getRequiredFields() |
Set<String> |
getSchemes() |
Transport |
open(URIish uri,
Repository local,
String remoteName)
Open a Transport instance to the other repository.
|
URIish |
register(C req,
Repository remote)
Register a repository connection over the internal test protocol.
|
canHandle, canHandle, getDefaultPort, openpublic TestProtocol(UploadPackFactory<C> uploadPackFactory, ReceivePackFactory<C> receivePackFactory)
uploadPackFactory - factory for creating UploadPack used by all connections
from this protocol instance.receivePackFactory - factory for creating ReceivePack used by all connections
from this protocol instance.public String getName()
getName in class TransportProtocolpublic Set<String> getSchemes()
getSchemes in class TransportProtocolpublic Transport open(URIish uri, Repository local, String remoteName) throws NotSupportedException, TransportException
TransportProtocolImplementations should avoid making remote connections until an operation on the returned Transport is invoked, however they may fail fast here if they know a connection is impossible, such as when using the local filesystem and the target path does not exist.
Implementations may access implementation-specific configuration options
within local.getConfig() using the remote block named by the
remoteName, if the name is non-null.
open in class TransportProtocoluri - address of the Git repository.local - the local repository that will communicate with the other Git
repository.remoteName - name of the remote, if the remote as configured in
local; otherwise null.NotSupportedException - this protocol does not support the URI.TransportException - the transport cannot open this URI.public Set<TransportProtocol.URIishField> getRequiredFields()
getRequiredFields in class TransportProtocolpublic Set<TransportProtocol.URIishField> getOptionalFields()
getOptionalFields in class TransportProtocolpublic URIish register(C req, Repository remote)
req - connection context. This instance is reused for all connections
made using this protocol; if it is stateful and usable only for
one connection, the same repository should be registered
multiple times.remote - remote repository to connect to.Copyright © 2016 Eclipse JGit Project. All rights reserved.