/* * 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 net.java.sip.communicator.service.protocol.*; /** * WhiteboardParticipantChangeEvent-s are triggerred wheneve a change occurs in * a WhiteboardParticipant. Dispatched events may be of one of the following * types. * <p> * WHITEBOARD_PARTICIPANT_STATUS_CHANGE - indicates a change in the status of * the participant. * <p> * WHITEBOARD_PARTICIPANT_DISPLAY_NAME_CHANGE - means that participant's * display name has changed * <p> * WHITEBOARD_PARTICIPANT_IMAGE_CHANGE - participant updated photo. * <p> * * @author Julien Waechter * @author Emil Ivov */ public class WhiteboardParticipantChangeEvent extends java.beans.PropertyChangeEvent { /** * Serial version UID. */ private static final long serialVersionUID = 0L; /** * An event type indicating that the corresponding event is caused by a * change of the WhiteboardParticipant's status. */ public static final String WHITEBOARD_PARTICIPANT_STATE_CHANGE = "WhiteboardParticipantStatusChange"; /** * An event type indicating that the corresponding event is caused by a * change of the participant's display name. */ public static final String WHITEBOARD_PARTICIPANT_DISPLAY_NAME_CHANGE = "WhiteboardParticipantDisplayNameChange"; /** * An event type indicating that the corresponding event is caused by a * change of the participant's photo/picture. */ public static final String WHITEBOARD_PARTICIPANT_IMAGE_CHANGE = "WhiteboardParticipantImageChange"; /** * A reason string further explaining the event (may be null). The string * would be mostly used for events issued upon a WhiteboardParticipantState * transition that has led to a FAILED state. */ private String reason = null; /** * Creates a WhiteboardParticipantChangeEvent with the specified source, * type, oldValue and newValue. * * @param source the participant that produced the event. * @param type the type of the event * (i.e. address change, state change etc.). * @param oldValue the value of the changed property * before the event occurred * @param newValue current value of the changed property. */ public WhiteboardParticipantChangeEvent(WhiteboardParticipant source, String type, Object oldValue, Object newValue) { this(source, type, oldValue, newValue, null); } /** * Creates a WhiteboardParticipantChangeEvent with the specified source, * type, oldValue and newValue. * * @param source the participant that produced the event. * @param type the type of the event (i.e. address change, state change * etc.). * @param oldValue the value of the changed property before the event * occurred * @param newValue current value of the changed property. * @param reason a string containing a human readable explanation for the * reason that triggerred this event (may be null). */ public WhiteboardParticipantChangeEvent(WhiteboardParticipant source, String type, Object oldValue, Object newValue, String reason) { super(source, type, oldValue, newValue); this.reason = reason; } /** * Returns the type of this event. * * @return a string containing one of the following values: * WHITEBOARD_PARTICIPANT_STATUS_CHANGE, * WHITEBOARD_PARTICIPANT_DISPLAY_NAME_CHANGE, * WHITEBOARD_PARTICIPANT_ADDRESS_CHANGE, * WHITEBOARD_PARTICIPANT_IMAGE_CHANGE */ public String getEventType() { return getPropertyName(); } /** * Returns a String representation of this WhiteboardParticipantChangeEvent. * * @return A a String representation of * this WhiteboardParticipantChangeEvent. */ @Override public String toString() { return "WhiteboardParticipantChangeEvent: type="+getEventType() + " oldV="+getOldValue() + " newV="+getNewValue() + " for participant=" + getSourceWhiteboardParticipant(); } /** * Returns the <tt>WhiteboardParticipant</tt> that this event is about. * * @return a reference to the <tt>WhiteboardParticipant</tt> that * is the source of this event. */ public WhiteboardParticipant getSourceWhiteboardParticipant() { return (WhiteboardParticipant)getSource(); } /** * Returns a reason string further explaining the event (may be null). * The string would be mostly used for events issued upon a * WhiteboardParticipantState transition that has led to a FAILED state. * * @return a reason string further explaining the event or null * if no reason was set. */ public String getReasonString() { return reason; } }