All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.osgi.service.cm.ConfigurationEvent Maven / Gradle / Ivy

Go to download

OSGi Service Platform Release 4 Version 4.3, Compendium Interfaces and Classes for use in compiling bundles.

There is a newer version: 5.0.0
Show newest version
/*
 * Copyright (c) OSGi Alliance (2004, 2009). All Rights Reserved.
 * 
 * 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 org.osgi.service.cm;

import java.util.Dictionary;

import org.osgi.framework.ServiceReference;

/**
 * A Configuration Event.
 * 
 * 

* ConfigurationEvent objects are delivered to all registered * ConfigurationListener service objects. ConfigurationEvents * must be asynchronously delivered in chronological order with respect to each * listener. * *

* A type code is used to identify the type of event. The following event types * are defined: *

    *
  • {@link #CM_UPDATED} *
  • {@link #CM_DELETED} *
* Additional event types may be defined in the future. * *

* Security Considerations. ConfigurationEvent objects do not * provide Configuration objects, so no sensitive configuration * information is available from the event. If the listener wants to locate the * Configuration object for the specified pid, it must use * ConfigurationAdmin. * * @see ConfigurationListener * * @version $Revision: 6180 $ * @since 1.2 */ public class ConfigurationEvent { /** * A Configuration has been updated. * *

* This ConfigurationEvent type that indicates that a * Configuration object has been updated with new properties. * * An event is fired when a call to {@link Configuration#update(Dictionary)} * successfully changes a configuration. * *

* The value of CM_UPDATED is 1. */ public static final int CM_UPDATED = 1; /** * A Configuration has been deleted. * *

* This ConfigurationEvent type that indicates that a * Configuration object has been deleted. * * An event is fired when a call to {@link Configuration#delete()} * successfully deletes a configuration. * *

* The value of CM_DELETED is 2. */ public static final int CM_DELETED = 2; /** * Type of this event. * * @see #getType */ private final int type; /** * The factory pid associated with this event. */ private final String factoryPid; /** * The pid associated with this event. */ private final String pid; /** * The ConfigurationAdmin service which created this event. */ private final ServiceReference reference; /** * Constructs a ConfigurationEvent object from the given * ServiceReference object, event type, and pids. * * @param reference The ServiceReference object of the * Configuration Admin service that created this event. * @param type The event type. See {@link #getType}. * @param factoryPid The factory pid of the associated configuration if the * target of the configuration is a ManagedServiceFactory. Otherwise * null if the target of the configuration is a * ManagedService. * @param pid The pid of the associated configuration. */ public ConfigurationEvent(ServiceReference reference, int type, String factoryPid, String pid) { this.reference = reference; this.type = type; this.factoryPid = factoryPid; this.pid = pid; if ((reference == null) || (pid == null)) { throw new NullPointerException("reference and pid must not be null"); } } /** * Returns the factory pid of the associated configuration. * * @return Returns the factory pid of the associated configuration if the * target of the configuration is a ManagedServiceFactory. Otherwise * null if the target of the configuration is a * ManagedService. */ public String getFactoryPid() { return factoryPid; } /** * Returns the pid of the associated configuration. * * @return Returns the pid of the associated configuration. */ public String getPid() { return pid; } /** * Return the type of this event. *

* The type values are: *

    *
  • {@link #CM_UPDATED} *
  • {@link #CM_DELETED} *
* * @return The type of this event. */ public int getType() { return type; } /** * Return the ServiceReference object of the Configuration * Admin service that created this event. * * @return The ServiceReference object for the Configuration * Admin service that created this event. */ public ServiceReference getReference() { return reference; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy