/* * 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.*; /** * Instances of this class represent a change in the server stored details * change that triggered them. * * @author Damian Minkov */ public class ServerStoredDetailsChangeEvent extends EventObject { /** * Serial version UID. */ private static final long serialVersionUID = 0L; /** * Indicates that the ServerStoredDetailsChangeEvent instance was triggered * by adding a new detail. */ public static final int DETAIL_ADDED = 1; /** * Indicates that the ServerStoredDetailsChangeEvent instance was triggered * by the removal of an existing detail. */ public static final int DETAIL_REMOVED = 2; /** * Indicates that the ServerStoredDetailsChangeEvent instance was triggered * by the fact a detail was replaced with new value. */ public static final int DETAIL_REPLACED = 3; /** * The event type id. */ private final int eventID; /** * New value for property. May be null if not known. * @serial */ private Object newValue; /** * Previous value for property. May be null if not known. * @serial */ private Object oldValue; /** * Constructs a ServerStoredDetailsChangeEvent. * * @param source The object on which the Event initially occurred. * @param eventID the event ID * @param oldValue old value * @param newValue new value * @throws IllegalArgumentException if source is null. */ public ServerStoredDetailsChangeEvent( ProtocolProviderService source, int eventID, Object oldValue, Object newValue) { super(source); this.eventID = eventID; this.oldValue = oldValue; this.newValue = newValue; } /** * Returns the provider that has generated this event * @return the provider that generated the event. */ public ProtocolProviderService getProvider() { return (ProtocolProviderService)getSource(); } /** * Gets the new value for the event, expressed as an Object. * * @return The new value for the event, expressed as an Object. */ public Object getNewValue() { return newValue; } /** * Gets the old value for the event, expressed as an Object. * * @return The old value for the event, expressed as an Object. */ public Object getOldValue() { return oldValue; } /** * Returns the event type id. * * @return the event ID */ public int getEventID() { return eventID; } }