/* * Jitsi, the OpenSource Java VoIP and Instant Messaging client. * * Copyright @ 2015 Atlassian Pty Ltd * * 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. */ package net.java.sip.communicator.service.protocol.event; import java.util.*; import net.java.sip.communicator.service.protocol.*; /** * The <tt>FileTransferStatusChangeEvent</tt> is the event indicating of a * change in the state of a file transfer. * * @author Yana Stamcheva */ public class FileTransferStatusChangeEvent extends EventObject { /** * Serial version UID. */ private static final long serialVersionUID = 0L; /** * Indicates that the file transfer has been completed. */ public static final int COMPLETED = 0; /** * Indicates that the file transfer has been canceled. */ public static final int CANCELED = 1; /** * Indicates that the file transfer has failed. */ public static final int FAILED = 2; /** * Indicates that the file transfer has been refused. */ public static final int REFUSED = 3; /** * Indicates that the file transfer is in progress. */ public static final int IN_PROGRESS = 4; /** * Indicates that the file transfer waits for the recipient to accept the * file. */ public static final int WAITING = 5; /** * Indicates that the file transfer is in negotiation. */ public static final int PREPARING = 6; /** * The state of the file transfer before this event occured. */ private final int oldStatus; /** * The new state of the file transfer. */ private final int newStatus; /** * The reason of this status change. */ private String reason; /** * Creates a <tt>FileTransferStatusChangeEvent</tt> by specifying the * source <tt>fileTransfer</tt>, the old transfer status and the new status. * * @param fileTransfer the source file transfer, for which this status * change occured * @param oldStatus the old status * @param newStatus the new status * @param reason the reason of this status change */ public FileTransferStatusChangeEvent( FileTransfer fileTransfer, int oldStatus, int newStatus, String reason) { super(fileTransfer); this.oldStatus = oldStatus; this.newStatus = newStatus; this.reason = reason; } /** * Returns the source <tt>FileTransfer</tt> that triggered this event. * * @return the source <tt>FileTransfer</tt> that triggered this event */ public FileTransfer getFileTransfer() { return (FileTransfer) source; } /** * Returns the state of the file transfer before this event occured. * * @return the old state */ public int getOldStatus() { return oldStatus; } /** * The new state of the file transfer. * * @return the new state */ public int getNewStatus() { return newStatus; } /** * Returns the reason of the status change. * @return the reason of the status change */ public String getReason() { return reason; } }