public class PreUploadHookChain extends Object implements PreUploadHook
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.
NULL
Modifier and Type | Method and Description |
---|---|
static PreUploadHook |
newChain(List<? extends PreUploadHook> hooks)
Create a new hook chaining the given hooks together.
|
void |
onBeginNegotiateRound(UploadPack up,
Collection<? extends ObjectId> wants,
int cntOffered)
Invoked before negotiation round is started.
|
void |
onEndNegotiateRound(UploadPack up,
Collection<? extends ObjectId> wants,
int cntCommon,
int cntNotFound,
boolean ready)
Invoked after a negotiation round is completed.
|
void |
onSendPack(UploadPack up,
Collection<? extends ObjectId> wants,
Collection<? extends ObjectId> haves)
Invoked just before a pack will be sent to the client.
|
public static PreUploadHook newChain(List<? extends PreUploadHook> hooks)
hooks
- hooks to execute, in order.public void onBeginNegotiateRound(UploadPack up, Collection<? extends ObjectId> wants, int cntOffered) throws ServiceMayNotContinueException
onBeginNegotiateRound
in interface PreUploadHook
up
- the upload pack instance handling the connection.wants
- the list of wanted objects.cntOffered
- number of objects the client has offered.ServiceMayNotContinueException
- abort; the message will be sent to the user.public void onEndNegotiateRound(UploadPack up, Collection<? extends ObjectId> wants, int cntCommon, int cntNotFound, boolean ready) throws ServiceMayNotContinueException
onEndNegotiateRound
in interface PreUploadHook
up
- the upload pack instance handling the connection.wants
- the list of wanted objects.cntCommon
- 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
- number of objects in this round the local repository does not
have, but that were offered as potential common bases.ready
- true if a pack is ready to be sent (the commit graph was
successfully cut).ServiceMayNotContinueException
- abort; the message will be sent to the user.public void onSendPack(UploadPack up, Collection<? extends ObjectId> wants, Collection<? extends ObjectId> haves) throws ServiceMayNotContinueException
onSendPack
in interface PreUploadHook
up
- the upload pack instance handling the connection.wants
- 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
- 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.ServiceMayNotContinueException
- abort; the message will be sent to the user.Copyright © 2019 Eclipse JGit Project. All rights reserved.