Class TransferEvent


  • public class TransferEvent
    extends IvyEvent
    TransferEvent is used to notify TransferListeners about progress in transfer of resources form/to the repository 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.
    
     
    Original class written by Michal Maczka.
    • 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 occurred 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.