org.eclipse.jgit.transport
Class PreUploadHookChain

java.lang.Object
  extended by org.eclipse.jgit.transport.PreUploadHookChain
All Implemented Interfaces:
PreUploadHook

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.


Field Summary
 
Fields inherited from interface org.eclipse.jgit.transport.PreUploadHook
NULL
 
Method Summary
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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

newChain

public static PreUploadHook newChain(List<? extends PreUploadHook> hooks)
Create a new hook chaining the given hooks together.

Parameters:
hooks - hooks to execute, in order.
Returns:
a new hook chain of the given hooks.

onBeginNegotiateRound

public void onBeginNegotiateRound(UploadPack up,
                                  Collection<? extends ObjectId> wants,
                                  int cntOffered)
                           throws ServiceMayNotContinueException
Description copied from interface: PreUploadHook
Invoked before negotiation round is started.

Specified by:
onBeginNegotiateRound in interface PreUploadHook
Parameters:
up - the upload pack instance handling the connection.
wants - the list of wanted objects.
cntOffered - number of objects the client has offered.
Throws:
ServiceMayNotContinueException - abort; the message will be sent to the user.

onEndNegotiateRound

public void onEndNegotiateRound(UploadPack up,
                                Collection<? extends ObjectId> wants,
                                int cntCommon,
                                int cntNotFound,
                                boolean ready)
                         throws ServiceMayNotContinueException
Description copied from interface: PreUploadHook
Invoked after a negotiation round is completed.

Specified by:
onEndNegotiateRound in interface PreUploadHook
Parameters:
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).
Throws:
ServiceMayNotContinueException - abort; the message will be sent to the user.

onSendPack

public void onSendPack(UploadPack up,
                       Collection<? extends ObjectId> wants,
                       Collection<? extends ObjectId> haves)
                throws ServiceMayNotContinueException
Description copied from interface: PreUploadHook
Invoked just before a pack will be sent to the client.

Specified by:
onSendPack in interface PreUploadHook
Parameters:
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.
Throws:
ServiceMayNotContinueException - abort; the message will be sent to the user.


Copyright © 2013. All Rights Reserved.