Top Description Fields Constructors Methods
org.eclipse.jgit.transport

public Class PreUploadHookChain

extends Object
implements PreUploadHook
Class Inheritance
All Implemented Interfaces
org.eclipse.jgit.transport.PreUploadHook
Imports
java.util.Collection, .Collections, .List, java.util.stream.Collectors, org.eclipse.jgit.lib.ObjectId

org.eclipse.jgit.transport.PreUploadHook that delegates to a list of other hooks.

Hooks are run in the order passed to the constructor. If running a method on one hook throws an exception, execution of remaining hook methods is aborted.

Field Summary

Modifier and TypeField and Description
private final List<PreUploadHook>

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static PreUploadHook

Returns:

a new hook chain of the given hooks.
newChain
(List<PreUploadHook>
hooks to execute, in order.
hooks
)

Create a new hook chaining the given hooks together.

public void
onBeginNegotiateRound(UploadPack
the upload pack instance handling the connection.
up
,
Collection<? extends ObjectId>
the list of wanted objects.
wants
,
int
number of objects the client has offered.
cntOffered
)

Implements org.eclipse.jgit.transport.PreUploadHook.onBeginNegotiateRound.

Invoked before negotiation round is started.

public void
onEndNegotiateRound(UploadPack
the upload pack instance handling the connection.
up
,
Collection<? extends ObjectId>
the list of wanted objects.
wants
,
int
number of objects this round found to be common. In a smart HTTP transaction this includes the objects that were previously found to be common.
cntCommon
,
int
number of objects in this round the local repository does not have, but that were offered as potential common bases.
cntNotFound
,
boolean
true if a pack is ready to be sent (the commit graph was successfully cut).
ready
)

Implements org.eclipse.jgit.transport.PreUploadHook.onEndNegotiateRound.

Invoked after a negotiation round is completed.

public void
onSendPack(UploadPack
the upload pack instance handling the connection.
up
,
Collection<? extends ObjectId>
the list of wanted objects. These may be RevObject or RevCommit if the processed parsed them. Implementors should not rely on the values being parsed.
wants
,
Collection<? extends ObjectId>
the list of common objects. Empty on an initial clone request. These may be RevObject or RevCommit if the processed parsed them. Implementors should not rely on the values being parsed.
haves
)

Implements org.eclipse.jgit.transport.PreUploadHook.onSendPack.

Invoked just before a pack will be sent to the client.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

hooksback to summary
private final List<PreUploadHook> hooks

Constructor Detail

PreUploadHookChainback to summary
private PreUploadHookChain(List<PreUploadHook> hooks)

Method Detail

newChainback to summary
public static PreUploadHook newChain(List<PreUploadHook> hooks)

Create a new hook chaining the given hooks together.

Parameters
hooks:List<PreUploadHook>

hooks to execute, in order.

Returns:PreUploadHook

a new hook chain of the given hooks.

onBeginNegotiateRoundback to summary
public void onBeginNegotiateRound(UploadPack up, Collection<? extends ObjectId> wants, int cntOffered) throws ServiceMayNotContinueException

Implements org.eclipse.jgit.transport.PreUploadHook.onBeginNegotiateRound.

Doc from org.eclipse.jgit.transport.PreUploadHook.onBeginNegotiateRound.

Invoked before negotiation round is started.

Parameters
up:UploadPack

the upload pack instance handling the connection.

wants:Collection<? extends ObjectId>

the list of wanted objects.

cntOffered:int

number of objects the client has offered.

Annotations
@Override
Exceptions
ServiceMayNotContinueException:
abort; the message will be sent to the user.
onEndNegotiateRoundback to summary
public void onEndNegotiateRound(UploadPack up, Collection<? extends ObjectId> wants, int cntCommon, int cntNotFound, boolean ready) throws ServiceMayNotContinueException

Implements org.eclipse.jgit.transport.PreUploadHook.onEndNegotiateRound.

Doc from org.eclipse.jgit.transport.PreUploadHook.onEndNegotiateRound.

Invoked after a negotiation round is completed.

Parameters
up:UploadPack

the upload pack instance handling the connection.

wants:Collection<? extends ObjectId>

the list of wanted objects.

cntCommon:int

number of objects this round found to be common. In a smart HTTP transaction this includes the objects that were previously found to be common.

cntNotFound:int

number of objects in this round the local repository does not have, but that were offered as potential common bases.

ready:boolean

true if a pack is ready to be sent (the commit graph was successfully cut).

Annotations
@Override
Exceptions
ServiceMayNotContinueException:
abort; the message will be sent to the user.
onSendPackback to summary
public void onSendPack(UploadPack up, Collection<? extends ObjectId> wants, Collection<? extends ObjectId> haves) throws ServiceMayNotContinueException

Implements org.eclipse.jgit.transport.PreUploadHook.onSendPack.

Doc from org.eclipse.jgit.transport.PreUploadHook.onSendPack.

Invoked just before a pack will be sent to the client.

Parameters
up:UploadPack

the upload pack instance handling the connection.

wants:Collection<? extends ObjectId>

the list of wanted objects. These may be RevObject or RevCommit if the processed parsed them. Implementors should not rely on the values being parsed.

haves:Collection<? extends ObjectId>

the list of common objects. Empty on an initial clone request. These may be RevObject or RevCommit if the processed parsed them. Implementors should not rely on the values being parsed.

Annotations
@Override
Exceptions
ServiceMayNotContinueException:
abort; the message will be sent to the user.