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

org.osgi.service.component.runtime.dto.ComponentConfigurationDTO Maven / Gradle / Ivy

Go to download

OSGi Compendium Release 7, Interfaces and Classes for use in compiling bundles

There is a newer version: 7.0.0
Show newest version
/*
 * Copyright (c) OSGi Alliance (2013, 2014). 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.component.runtime.dto;

import java.util.Map;
import org.osgi.dto.DTO;
import org.osgi.service.component.ComponentContext;

/**
 * A representation of an actual instance of a declared component description
 * parameterized by component properties.
 * 
 * @since 1.3
 * @NotThreadSafe
 * @author $Id: a3e98bbac97a1d79805f9be0ed7f2ae811f112d0 $
 */
public class ComponentConfigurationDTO extends DTO {
	/**
	 * The component configuration is unsatisfied due to a missing required
	 * configuration.
	 */
	public static final int			UNSATISFIED_CONFIGURATION	= 1;

	/**
	 * The component configuration is unsatisfied due to an unsatisfied
	 * reference.
	 */
	public static final int			UNSATISFIED_REFERENCE		= 2;

	/**
	 * The component configuration is satisfied.
	 * 
	 * 

* Any {@link ComponentDescriptionDTO#serviceInterfaces services} declared * by the component description are registered. */ public static final int SATISFIED = 4; /** * The component configuration is active. * *

* This is the normal operational state of a component configuration. */ public static final int ACTIVE = 8; /** * The representation of the component configuration's component * description. */ public ComponentDescriptionDTO description; /** * The current state of the component configuration. * *

* This is one of {@link #UNSATISFIED_CONFIGURATION}, * {@link #UNSATISFIED_REFERENCE}, {@link #SATISFIED} or {@link #ACTIVE}. */ public int state; /** * The id of the component configuration. * *

* The id is a non-persistent, unique value assigned at runtime. The id is * also available as the {@code component.id} component property. The value * of this field is unspecified if the state of this component configuration * is unsatisfied. */ public long id; /** * The component properties for the component configuration. * * @see ComponentContext#getProperties() */ public Map properties; /** * The satisfied references. * *

* Each {@link SatisfiedReferenceDTO} in the array represents a satisfied * reference of the component configuration. The array must be empty if the * component configuration has no satisfied references. */ public SatisfiedReferenceDTO[] satisfiedReferences; /** * The unsatisfied references. * *

* Each {@link UnsatisfiedReferenceDTO} in the array represents an * unsatisfied reference of the component configuration. The array must be * empty if the component configuration has no unsatisfied references. */ public UnsatisfiedReferenceDTO[] unsatisfiedReferences; }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy