org.apache.ivy.plugins.repository
Class TransferEvent

java.lang.Object
  extended by org.apache.ivy.core.event.IvyEvent
      extended by org.apache.ivy.plugins.repository.TransferEvent

public class TransferEvent
extends IvyEvent

TransferEvent is used to notify TransferListeners about progress in transfer of resources form/to the respository This class is LARGELY inspired by org.apache.maven.wagon.events.TransferEvent released under the following copyright license:

 
  Copyright 2001-2005 The Apache Software Foundation.
 
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at
 
       http://www.apache.org/licenses/LICENSE-2.0
 
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
  
 
Orginal class written by Michal Maczka.


Field Summary
static int REQUEST_GET
          Indicates GET transfer (from the repository)
static int REQUEST_PUT
          Indicates PUT transfer (to the repository)
static int TRANSFER_COMPLETED
          A transfer is completed.
static java.lang.String TRANSFER_COMPLETED_NAME
           
static int TRANSFER_ERROR
          An error occured during transfer
static java.lang.String TRANSFER_ERROR_NAME
           
static int TRANSFER_INITIATED
          A transfer was attempted, but has not yet commenced.
static java.lang.String TRANSFER_INITIATED_NAME
           
static int TRANSFER_PROGRESS
          A transfer is in progress.
static java.lang.String TRANSFER_PROGRESS_NAME
           
static int TRANSFER_STARTED
          A transfer was started.
static java.lang.String TRANSFER_STARTED_NAME
           
 
Constructor Summary
TransferEvent(Repository repository, Resource resource, java.lang.Exception exception, int requestType)
           
TransferEvent(Repository repository, Resource resource, int eventType, int requestType)
           
TransferEvent(Repository repository, Resource resource, long length, int requestType)
           
 
Method Summary
 long getElapsedTime(int fromEventType, int toEventType)
          Returns the elapsed time (in ms) between when the event entered one type until it entered another event time.
 int getEventType()
           
 java.lang.Exception getException()
           
 long getLength()
           
 java.io.File getLocalFile()
           
 Repository getRepository()
           
 int getRequestType()
          Returns the request type.
 Resource getResource()
           
 long getTotalLength()
           
 boolean isTotalLengthSet()
           
protected  void setEventType(int eventType)
           
 void setException(java.lang.Exception exception)
           
protected  void setLength(long length)
           
protected  void setLocalFile(java.io.File localFile)
           
protected  void setRequestType(int requestType)
          Sets the request type
protected  void setResource(Resource resource)
           
protected  void setTotalLength(long totalLength)
           
 void setTotalLengthSet(boolean isTotalLengthSet)
           
 
Methods inherited from class org.apache.ivy.core.event.IvyEvent
addAttribute, addAttributes, addConfsAttribute, addMDAttributes, addModuleIdAttributes, addMridAttributes, equals, getAttributes, getName, getSource, hashCode, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

TRANSFER_INITIATED

public static final int TRANSFER_INITIATED
A transfer was attempted, but has not yet commenced.

See Also:
Constant Field Values

TRANSFER_STARTED

public static final int TRANSFER_STARTED
A transfer was started.

See Also:
Constant Field Values

TRANSFER_COMPLETED

public static final int TRANSFER_COMPLETED
A transfer is completed.

See Also:
Constant Field Values

TRANSFER_PROGRESS

public static final int TRANSFER_PROGRESS
A transfer is in progress.

See Also:
Constant Field Values

TRANSFER_ERROR

public static final int TRANSFER_ERROR
An error occured during transfer

See Also:
Constant Field Values

REQUEST_GET

public static final int REQUEST_GET
Indicates GET transfer (from the repository)

See Also:
Constant Field Values

REQUEST_PUT

public static final int REQUEST_PUT
Indicates PUT transfer (to the repository)

See Also:
Constant Field Values

TRANSFER_INITIATED_NAME

public static final java.lang.String TRANSFER_INITIATED_NAME
See Also:
Constant Field Values

TRANSFER_STARTED_NAME

public static final java.lang.String TRANSFER_STARTED_NAME
See Also:
Constant Field Values

TRANSFER_PROGRESS_NAME

public static final java.lang.String TRANSFER_PROGRESS_NAME
See Also:
Constant Field Values

TRANSFER_COMPLETED_NAME

public static final java.lang.String TRANSFER_COMPLETED_NAME
See Also:
Constant Field Values

TRANSFER_ERROR_NAME

public static final java.lang.String TRANSFER_ERROR_NAME
See Also:
Constant Field Values
Constructor Detail

TransferEvent

public TransferEvent(Repository repository,
                     Resource resource,
                     int eventType,
                     int requestType)

TransferEvent

public TransferEvent(Repository repository,
                     Resource resource,
                     java.lang.Exception exception,
                     int requestType)

TransferEvent

public TransferEvent(Repository repository,
                     Resource resource,
                     long length,
                     int requestType)
Method Detail

getResource

public Resource getResource()
Returns:
Returns the resource.

getException

public java.lang.Exception getException()
Returns:
Returns the exception.

getRequestType

public int getRequestType()
Returns the request type.

Returns:
Returns the request type. The Request type is one of TransferEvent.REQUEST_GET or TransferEvent.REQUEST_PUT

setRequestType

protected void setRequestType(int requestType)
Sets the request type

Parameters:
requestType - The requestType to set. The Request type value should be either TransferEvent.REQUEST_GET or TransferEvent.REQUEST_PUT.
Throws:
java.lang.IllegalArgumentException - when

getEventType

public int getEventType()
Returns:
Returns the eventType.

setEventType

protected void setEventType(int eventType)
Parameters:
eventType - The eventType to set.

setResource

protected void setResource(Resource resource)
Parameters:
resource - The resource to set.

getLocalFile

public java.io.File getLocalFile()
Returns:
Returns the local file.

setLocalFile

protected void setLocalFile(java.io.File localFile)
Parameters:
localFile - The local file to set.

getLength

public long getLength()

setLength

protected void setLength(long length)

getTotalLength

public long getTotalLength()

setTotalLength

protected void setTotalLength(long totalLength)

setException

public void setException(java.lang.Exception exception)

isTotalLengthSet

public boolean isTotalLengthSet()

setTotalLengthSet

public void setTotalLengthSet(boolean isTotalLengthSet)

getRepository

public Repository getRepository()

getElapsedTime

public long getElapsedTime(int fromEventType,
                           int toEventType)
Returns the elapsed time (in ms) between when the event entered one type until it entered another event time.

This is especially useful to get the elapsed transfer time:

 getElapsedTime(TransferEvent.TRANSFER_STARTED, TransferEvent.TRANSFER_COMPLETED);
 

Special cases:

  • returns -1 if the event never entered the fromEventType or the toEventType.
  • returns 0 if the event entered toEventType before fromEventType

Parameters:
fromEventType - the event type constant from which time should be measured
toEventType - the event type constant to which time should be measured
Returns:
the elapsed time (in ms) between when the event entered fromEventType until it entered toEventType.
Throws:
java.lang.IllegalArgumentException - if either type is not a known constant event type.