ACTIVE state (and also the STARTING state for
- * bundles awaiting lazy activation) can have an associated Blueprint Container.
- * A given Bundle Context has at most one associated Blueprint Container.
- *
- * A Blueprint Container can be obtained by injecting the predefined
- * "blueprintContainer" component id. The Blueprint Container is also
- * registered as a service and its managed components can be queried.
- *
- * @ThreadSafe
- * @version $Revision$
- */
-public interface BlueprintContainer {
- /**
- * Returns the set of component ids managed by this Blueprint Container.
- *
- * @return An immutable Set of Strings, containing the ids of all of the
- * components managed within this Blueprint Container.
- */
- Set
- * BlueprintEvent objects are delivered to all registered
- * {@link BlueprintListener} services. Blueprint Events must be asynchronously
- * delivered in chronological order with respect to each listener.
- *
- *
- * In addition, after a Blueprint Listener is registered, the Blueprint extender - * will synchronously send to this Blueprint Listener the last Blueprint Event - * for each ready Blueprint bundle managed by this extender. This - * replay of Blueprint Events is designed so that the new Blueprint - * Listener can be informed of the state of each Blueprint bundle. Blueprint - * Events sent during this replay will have the {@link #isReplay()} flag set. - * The Blueprint extender must ensure that this replay phase does not interfere - * with new Blueprint Events so that the chronological order of all Blueprint - * Events received by the Blueprint Listener is preserved. If the last Blueprint - * Event for a given Blueprint bundle is {@link #DESTROYED}, the extender must - * not send it during this replay phase. - * - *
- * A type code is used to identify the type of event. The following event types - * are defined: - *
- * In addition to calling the registered {@link BlueprintListener} services, the
- * Blueprint extender must also send those events to the Event Admin service, if
- * it is available.
- *
- * @see BlueprintListener
- * @see EventConstants
- * @Immutable
- * @version $Revision$
- */
-public class BlueprintEvent {
-
- /**
- * The Blueprint extender has started creating a Blueprint Container for the
- * bundle.
- */
- public static final int CREATING = 1;
- /**
- * The Blueprint extender has created a Blueprint Container for the bundle.
- * This event is sent after the Blueprint Container has been registered as a
- * service.
- */
- public static final int CREATED = 2;
- /**
- * The Blueprint extender has started destroying the Blueprint Container for
- * the bundle.
- */
- public static final int DESTROYING = 3;
- /**
- * The Blueprint Container for the bundle has been completely destroyed.
- * This event is sent after the Blueprint Container has been unregistered as
- * a service.
- */
- public static final int DESTROYED = 4;
- /**
- * The Blueprint Container creation for the bundle has failed. If this event
- * is sent after a timeout in the Grace Period, the
- * {@link #getDependencies()} method must return an array of missing
- * mandatory dependencies. The event must also contain the cause of the
- * failure as a Throwable through the {@link #getCause()}
- * method.
- */
- public static final int FAILURE = 5;
- /**
- * The Blueprint Container has entered the grace period. The list of missing
- * dependencies must be made available through the
- * {@link #getDependencies()} method. During the grace period, a
- * {@link #GRACE_PERIOD} event is sent each time the set of unsatisfied
- * dependencies changes.
- */
- public static final int GRACE_PERIOD = 6;
- /**
- * The Blueprint Container is waiting on the availability of a service to
- * satisfy an invocation on a referenced service. The missing dependency
- * must be made available through the {@link #getDependencies()} method
- * which will return an array containing one filter object as a String.
- */
- public static final int WAITING = 7;
-
- /**
- * Type of this event.
- *
- * @see #getType()
- */
- private final int type;
- /**
- * The time when the event occurred.
- *
- * @see #getTimestamp()
- */
- private final long timestamp;
- /**
- * The Blueprint bundle.
- *
- * @see #getBundle()
- */
- private final Bundle bundle;
- /**
- * The Blueprint extender bundle.
- *
- * @see #getExtenderBundle()
- */
- private final Bundle extenderBundle;
- /**
- * An array containing filters identifying the missing dependencies. Must
- * not be null when the event type requires it.
- *
- * @see #getDependencies()
- */
- private final String[] dependencies;
- /**
- * Cause of the failure.
- *
- * @see #getCause()
- */
- private final Throwable cause;
- /**
- * Indicate if this event is a replay event or not.
- *
- * @see #isReplay()
- */
- private final boolean replay;
-
- /**
- * Create a simple BlueprintEvent object.
- *
- * @param type The type of this event.
- * @param bundle The Blueprint bundle associated with this event. This
- * parameter must not be null.
- * @param extenderBundle The Blueprint extender bundle that is generating
- * this event. This parameter must not be null.
- */
- public BlueprintEvent(int type, Bundle bundle, Bundle extenderBundle) {
- this(type, bundle, extenderBundle, null, null);
- }
-
- /**
- * Create a BlueprintEvent object associated with a set of
- * dependencies.
- *
- * @param type The type of this event.
- * @param bundle The Blueprint bundle associated with this event. This
- * parameter must not be null.
- * @param extenderBundle The Blueprint extender bundle that is generating
- * this event. This parameter must not be null.
- * @param dependencies An array of String filters for each
- * dependency associated with this event. Must be a non-empty array
- * for event types {@link #FAILURE}, {@link #GRACE_PERIOD} and
- * {@link #WAITING}. Must be null for other event types.
- */
- public BlueprintEvent(int type, Bundle bundle, Bundle extenderBundle,
- String[] dependencies) {
- this(type, bundle, extenderBundle, dependencies, null);
- }
-
- /**
- * Create a BlueprintEvent object associated with a failure
- * cause.
- *
- * @param type The type of this event.
- * @param bundle The Blueprint bundle associated with this event. This
- * parameter must not be null.
- * @param extenderBundle The Blueprint extender bundle that is generating
- * this event. This parameter must not be null.
- * @param cause A Throwable object describing the root cause of
- * the event. May be null.
- */
- public BlueprintEvent(int type, Bundle bundle, Bundle extenderBundle,
- Throwable cause) {
- this(type, bundle, extenderBundle, null, cause);
- }
-
- /**
- * Create a BlueprintEvent object associated with a failure
- * cause and a set of dependencies.
- *
- * @param type The type of this event.
- * @param bundle The Blueprint bundle associated with this event. This
- * parameter must not be null.
- * @param extenderBundle The Blueprint extender bundle that is generating
- * this event. This parameter must not be null.
- * @param dependencies An array of String filters for each
- * dependency associated with this event. Must be a non-empty array
- * for event types {@link #GRACE_PERIOD} and (@link #WAITING}. It
- * is optional for {@link #FAILURE} event types.
- * Must be null for other event types.
- * @param cause A Throwable object describing the root cause of
- * this event. May be null.
- */
- public BlueprintEvent(int type, Bundle bundle, Bundle extenderBundle,
- String[] dependencies, Throwable cause) {
- this.type = type;
- this.timestamp = System.currentTimeMillis();
- this.bundle = bundle;
- this.extenderBundle = extenderBundle;
- this.dependencies = dependencies == null ? null
- : (String[]) dependencies.clone();;
- this.cause = cause;
- this.replay = false;
- if (bundle == null) {
- throw new NullPointerException("bundle must not be null");
- }
- if (extenderBundle == null) {
- throw new NullPointerException("extenderBundle must not be null");
- }
- switch (type) {
- case WAITING :
- case GRACE_PERIOD :
- if (dependencies == null) {
- throw new NullPointerException(
- "dependencies must not be null");
- }
- if (dependencies.length == 0) {
- throw new IllegalArgumentException(
- "dependencies must not be length zero");
- }
- break;
- case FAILURE :
- // not all FAILURE events have a dependency list, but if there
- // is one, it must be non-empty.
- if (dependencies != null) {
- if (dependencies.length == 0) {
- throw new IllegalArgumentException(
- "dependencies must not be length zero");
- }
- }
- break;
- default :
- if (dependencies != null) {
- throw new IllegalArgumentException(
- "dependencies must be null");
- }
- break;
- }
- }
-
- /**
- * Create a new BlueprintEvent from the specified
- * BlueprintEvent. The timestamp property will be
- * copied from the original event and only the replay property will be
- * overridden with the given value.
- *
- * @param event The original BlueprintEvent to copy. Must not
- * be null.
- * @param replay true if this event should be used as a replay
- * event.
- */
- public BlueprintEvent(BlueprintEvent event, boolean replay) {
- this.type = event.type;
- this.timestamp = event.timestamp;
- this.bundle = event.bundle;
- this.extenderBundle = event.extenderBundle;
- this.dependencies = event.dependencies;
- this.cause = event.cause;
- this.replay = replay;
- }
-
- /**
- * Return the type of this event.
- *
- * The type values are: - *
null
- * for the other event types.
- */
- public String[] getDependencies() {
- return dependencies == null ? null : (String[]) dependencies.clone();
- }
-
- /**
- * Return the cause for this {@link #FAILURE} event.
- *
- * @return The cause of the failure for this event. May be null
- * .
- */
- public Throwable getCause() {
- return cause;
- }
-
- /**
- * Return whether this event is a replay event.
- *
- * @return true if this event is a replay event and
- * false otherwise.
- */
- public boolean isReplay() {
- return replay;
- }
-}
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintListener.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintListener.java
deleted file mode 100644
index d34398cd45..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintListener.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 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.blueprint.container;
-
-/**
- * A BlueprintEvent Listener.
- *
- *
- * To receive Blueprint Events, a bundle must register a Blueprint Listener
- * service.
- *
- * After a Blueprint Listener is registered, the Blueprint extender must
- * synchronously send to this Blueprint Listener the last Blueprint Event for
- * each ready Blueprint bundle managed by this extender. This replay of
- * Blueprint Events is designed so that the new Blueprint Listener can be
- * informed of the state of each Blueprint bundle. Blueprint Events sent during
- * this replay will have the {@link BlueprintEvent#isReplay() isReplay()} flag
- * set. The Blueprint extender must ensure that this replay phase does not
- * interfere with new Blueprint Events so that the chronological order of all
- * Blueprint Events received by the Blueprint Listener is preserved. If the last
- * Blueprint Event for a given Blueprint bundle is
- * {@link BlueprintEvent#DESTROYED DESTROYED}, the extender must not send it
- * during this replay phase.
- *
- * @see BlueprintEvent
- * @ThreadSafe
- * @version $Revision$
- */
-public interface BlueprintListener {
-
- /**
- * Receives notifications of a Blueprint Event.
- *
- * Implementers should quickly process the event and return.
- *
- * @param event The {@link BlueprintEvent}.
- */
- void blueprintEvent(BlueprintEvent event);
-}
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ComponentDefinitionException.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ComponentDefinitionException.java
deleted file mode 100644
index 1e9339495a..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ComponentDefinitionException.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 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.blueprint.container;
-
-/**
- * A Blueprint exception indicating that a component definition is in error.
- *
- * This exception is thrown when a configuration-related error occurs during
- * creation of a Blueprint Container.
- *
- * @version $Revision$
- */
-public class ComponentDefinitionException extends RuntimeException {
- private static final long serialVersionUID = 1L;
-
- /**
- * Creates a Component Definition Exception with no message or exception
- * cause.
- */
- public ComponentDefinitionException() {
- super();
- }
-
- /**
- * Creates a Component Definition Exception with the specified message
- *
- * @param explanation The associated message.
- */
- public ComponentDefinitionException(String explanation) {
- super(explanation);
- }
-
- /**
- * Creates a Component Definition Exception with the specified message and
- * exception cause.
- *
- * @param explanation The associated message.
- * @param cause The cause of this exception.
- */
- public ComponentDefinitionException(String explanation, Throwable cause) {
- super(explanation, cause);
- }
-
- /**
- * Creates a Component Definition Exception with the exception cause.
- *
- * @param cause The cause of this exception.
- */
- public ComponentDefinitionException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/Converter.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/Converter.java
deleted file mode 100644
index 2f5c659b99..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/Converter.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 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.blueprint.container;
-
-/**
- * Type converter to convert an object to a target type.
- *
- * @ThreadSafe
- * @version $Revision$
- */
-public interface Converter {
-
- /**
- * Return if this converter is able to convert the specified object to the
- * specified type.
- *
- * @param sourceObject The source object s to convert.
- * @param targetType The target type T.
- *
- * @return true if the conversion is possible,
- * false otherwise.
- */
- boolean canConvert(Object sourceObject, ReifiedType targetType);
-
- /**
- * Convert the specified object to an instance of the specified type.
- *
- * @param sourceObject The source object s to convert.
- * @param targetType The target type T.
- * @return An instance with a type that is assignable from targetType's raw
- * class
- * @throws Exception If the conversion cannot succeed. This exception should
- * not be thrown when the {@link #canConvert canConvert} method has
- * returned true.
- */
- Object convert(Object sourceObject, ReifiedType targetType)
- throws Exception;
-}
\ No newline at end of file
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/EventConstants.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/EventConstants.java
deleted file mode 100644
index 30e112729b..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/EventConstants.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 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.blueprint.container;
-
-/**
- * Event property names used in Event Admin events published by a Blueprint
- * Container.
- *
- *
- * Each type of event is sent to a different topic: - * - *
- * org/osgi/service/blueprint/container/<event-type>
- *
- *
- * where <event-type> can have the values - * {@link BlueprintEvent#CREATING CREATING}, {@link BlueprintEvent#CREATED - * CREATED}, {@link BlueprintEvent#DESTROYING DESTROYING}, - * {@link BlueprintEvent#DESTROYED DESTROYED}, {@link BlueprintEvent#FAILURE - * FAILURE}, {@link BlueprintEvent#GRACE_PERIOD GRACE_PERIOD}, or - * {@link BlueprintEvent#WAITING WAITING}. - * - *
- * Such events have the following properties: - *
Integer and can take one of the values defined in
- * {@link BlueprintEvent}.
- */
- public static final String TYPE = "type";
-
- /**
- * The BlueprintEvent object that caused this event. This
- * property is of type {@link BlueprintEvent}.
- */
- public static final String EVENT = "event";
-
- /**
- * The time the event was created. This property is of type
- * Long.
- */
- public static final String TIMESTAMP = "timestamp";
-
- /**
- * The Blueprint bundle associated with this event. This property is of type
- * Bundle.
- */
- public static final String BUNDLE = "bundle";
-
- /**
- * The bundle id of the Blueprint bundle associated with this event. This
- * property is of type Long.
- */
- public static final String BUNDLE_ID = "bundle.id";
-
- /**
- * The bundle symbolic name of the Blueprint bundle associated with this
- * event. This property is of type String.
- */
- public static final String BUNDLE_SYMBOLICNAME = "bundle.symbolicName";
-
- /**
- * The bundle version of the Blueprint bundle associated with this event.
- * This property is of type Version.
- */
- public static final String BUNDLE_VERSION = "bundle.version";
-
- /**
- * The Blueprint extender bundle that is generating this event. This
- * property is of type Bundle.
- */
- public static final String EXTENDER_BUNDLE = "extender.bundle";
-
- /**
- * The bundle id of the Blueprint extender bundle that is generating this
- * event. This property is of type Long.
- */
- public static final String EXTENDER_BUNDLE_ID = "extender.bundle.id";
-
- /**
- * The bundle symbolic of the Blueprint extender bundle that is generating
- * this event. This property is of type String.
- */
- public static final String EXTENDER_BUNDLE_SYMBOLICNAME = "extender.bundle.symbolicName";
-
- /**
- * The bundle version of the Blueprint extender bundle that is generating
- * this event. This property is of type Version.
- */
- public static final String EXTENDER_BUNDLE_VERSION = "extender.bundle.version";
-
- /**
- * The filters identifying the missing dependencies that caused this event
- * for a {@link BlueprintEvent#FAILURE FAILURE},
- * {@link BlueprintEvent#GRACE_PERIOD GRACE_PERIOD}, or
- * {@link BlueprintEvent#WAITING WAITING} event. This property type is an
- * array of String.
- */
- public static final String DEPENDENCIES = "dependencies";
-
- /**
- * The cause for a {@link BlueprintEvent#FAILURE FAILURE} event. This
- * property is of type Throwable.
- */
- public static final String CAUSE = "cause";
-
- /**
- * Topic prefix for all events issued by the Blueprint Container
- */
- public static final String TOPIC_BLUEPRINT_EVENTS = "org/osgi/service/blueprint/container";
-
- /**
- * Topic for Blueprint Container CREATING events
- */
- public static final String TOPIC_CREATING = TOPIC_BLUEPRINT_EVENTS
- + "/CREATING";
-
- /**
- * Topic for Blueprint Container CREATED events
- */
- public static final String TOPIC_CREATED = TOPIC_BLUEPRINT_EVENTS
- + "/CREATED";
-
- /**
- * Topic for Blueprint Container DESTROYING events
- */
- public static final String TOPIC_DESTROYING = TOPIC_BLUEPRINT_EVENTS
- + "/DESTROYING";
-
- /**
- * Topic for Blueprint Container DESTROYED events
- */
- public static final String TOPIC_DESTROYED = TOPIC_BLUEPRINT_EVENTS
- + "/DESTROYED";
-
- /**
- * Topic for Blueprint Container FAILURE events
- */
- public static final String TOPIC_FAILURE = TOPIC_BLUEPRINT_EVENTS
- + "/FAILURE";
-
- /**
- * Topic for Blueprint Container GRACE_PERIOD events
- */
- public static final String TOPIC_GRACE_PERIOD = TOPIC_BLUEPRINT_EVENTS
- + "/GRACE_PERIOD";
-
- /**
- * Topic for Blueprint Container WAITING events
- */
- public static final String TOPIC_WAITING = TOPIC_BLUEPRINT_EVENTS
- + "/WAITING";
-}
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/NoSuchComponentException.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/NoSuchComponentException.java
deleted file mode 100644
index fa3f822e31..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/NoSuchComponentException.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 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.blueprint.container;
-
-/**
- * A Blueprint exception indicating that a component does not exist in a
- * Blueprint Container.
- *
- * This exception is thrown when an attempt is made to create a component
- * instance or lookup Component Metadata using a component id that does not
- * exist in the Blueprint Container.
- *
- * @version $Revision$
- */
-public class NoSuchComponentException extends RuntimeException {
- private static final long serialVersionUID = 1L;
- /**
- * The requested component id that generated the exception.
- */
- private final String componentId;
-
- /**
- * Create a No Such Component Exception for a non-existent component.
- *
- * @param msg The associated message.
- * @param id The id of the non-existent component.
- */
- public NoSuchComponentException(String msg, String id) {
- super(msg);
- this.componentId = id;
- }
-
- /**
- * Create a No Such Component Exception for a non-existent component.
- *
- * @param id The id of the non-existent component.
- */
- public NoSuchComponentException(String id) {
- super("No component with id '" + (id == null ? "
- * Java 5 and later support generic types. These types consist of a raw class
- * with type parameters. This class models such a Type class but
- * ensures that the type is reified. Reification means that the Type
- * graph associated with a Java 5 Type instance is traversed until
- * the type becomes a concrete class. This class is available with the
- * {@link #getRawClass()} method. The optional type parameters are recursively
- * represented as Reified Types.
- *
- *
- * In Java 1.4, a class has by definition no type parameters. This class
- * implementation provides the Reified Type for Java 1.4 by making the raw class
- * the Java 1.4 class and using a Reified Type based on the Object
- * class for any requested type parameter.
- *
- *
- * A Blueprint extender implementations can subclass this class and provide
- * access to the generic type parameter graph for conversion. Such a subclass
- * must reify the different Java 5 Type instances into the
- * reified form. That is, a form where the raw Class is available with its
- * optional type parameters as Reified Types.
- *
- * @Immutable
- * @version $Revision$
- */
-public class ReifiedType {
- private final static ReifiedType OBJECT = new ReifiedType(Object.class);
-
- private final Class clazz;
-
- /**
- * Create a Reified Type for a raw Java class without any generic type
- * parameters. Subclasses can provide the optional generic type parameter
- * information. Without subclassing, this instance has no type parameters.
- *
- * @param clazz The raw class of the Reified Type.
- */
- public ReifiedType(Class clazz) {
- this.clazz = clazz;
- }
-
- /**
- * Return the raw class represented by this type.
- *
- * The raw class represents the concrete class that is associated with a
- * type declaration. This class could have been deduced from the generics
- * type parameter graph of the declaration. For example, in the following
- * example:
- *
- *
- * Map<String, ? extends Metadata> - *- * - * The raw class is the Map class. - * - * @return The raw class represented by this type. - */ - public Class getRawClass() { - return clazz; - } - - /** - * Return a type parameter for this type. - * - * The type parameter refers to a parameter in a generic type declaration - * given by the zero-based index
i.
- *
- * For example, in the following example:
- *
- * - * Map<String, ? extends Metadata> - *- * - * type parameter 0 is
String, and type parameter 1 is
- * Metadata.
- *
- *
- * This implementation returns a Reified Type that has Object
- * as class. Any object is assignable to Object and therefore no conversion
- * is then necessary. This is compatible with versions of Java language
- * prior to Java 5.
- *
- * This method should be overridden by a subclass that provides access to
- * the generic type parameter information for Java 5 and later.
- *
- * @param i The zero-based index of the requested type parameter.
- * @return The ReifiedType for the generic type parameter at
- * the specified index.
- */
- public ReifiedType getActualTypeArgument(int i) {
- return OBJECT;
- }
-
- /**
- * Return the number of type parameters for this type.
- *
- *
- * This implementation returns 0. This method should be
- * overridden by a subclass that provides access to the generic type
- * parameter information for Java 5 and later.
- *
- * @return The number of type parameters for this type.
- */
- public int size() {
- return 0;
- }
-}
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ServiceUnavailableException.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ServiceUnavailableException.java
deleted file mode 100644
index 64b43c1ed4..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ServiceUnavailableException.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 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.blueprint.container;
-
-import org.osgi.framework.ServiceException;
-
-/**
- * A Blueprint exception indicating that a service is unavailable.
- *
- * This exception is thrown when an invocation is made on a service reference
- * and a backing service is not available.
- *
- * @version $Revision$
- */
-public class ServiceUnavailableException extends ServiceException {
- private static final long serialVersionUID = 1L;
- /**
- * The filter string associated with the exception.
- */
- private final String filter;
-
- /**
- * Creates a Service Unavailable Exception with the specified message.
- *
- * @param message The associated message.
- * @param filter The filter used for the service lookup.
- */
- public ServiceUnavailableException(String message, String filter) {
- super(message, UNREGISTERED);
- this.filter = filter;
- }
-
- /**
- * Creates a Service Unavailable Exception with the specified message and
- * exception cause.
- *
- * @param message The associated message.
- * @param filter The filter used for the service lookup.
- * @param cause The cause of this exception.
- */
- public ServiceUnavailableException(String message, String filter,
- Throwable cause) {
- super(message, UNREGISTERED, cause);
- this.filter = filter;
- }
-
- /**
- * Returns the filter expression that a service would have needed to satisfy
- * in order for the invocation to proceed.
- *
- * @return The failing filter.
- */
- public String getFilter() {
- return this.filter;
- }
-}
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/package.html b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/package.html
deleted file mode 100644
index 657e8db2b2..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/package.html
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
Blueprint Container Package Version 1.0.
-Bundles wishing to use this package must list the package -in the Import-Package header of the bundle's manifest. -For example:
--Import-Package: org.osgi.service.blueprint.container; version="[1.0,2.0)" --
- This package defines the primary interface to a Blueprint Container,
- BlueprintContainer. An instance of this type is available
- inside a Blueprint Container as an implicitly defined component with the name
- "blueprintContainer".
-
- This package also declares the supporting exception types, listener, and constants for working with a Blueprint - Container. -
- - diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/packageinfo b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/packageinfo deleted file mode 100644 index 3587a40054..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/packageinfo +++ /dev/null @@ -1,19 +0,0 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you 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. -# -version 1.0.1 diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanArgument.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanArgument.java deleted file mode 100644 index b7f2bbe318..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanArgument.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 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.blueprint.reflect; - -/** - * Metadata for a factory method or constructor argument of a bean. The - * arguments of a bean are obtained from {@link BeanMetadata#getArguments()}. - * - * This is specified by theargument elements of a bean.
- *
- * @ThreadSafe
- * @version $Revision$
- */
-public interface BeanArgument {
-
- /**
- * Return the Metadata for the argument value.
- *
- * This is specified by the value attribute.
- *
- * @return The Metadata for the argument value.
- */
- Metadata getValue();
-
- /**
- * Return the name of the value type to match the argument and convert the
- * value into when invoking the constructor or factory method.
- *
- * This is specified by the type attribute.
- *
- * @return The name of the value type to convert the value into, or
- * null if no type is specified.
- */
- String getValueType();
-
- /**
- * Return the zero-based index into the parameter list of the factory method
- * or constructor to be invoked for this argument. This is determined by
- * specifying the index attribute for the bean. If not
- * explicitly set, this will return -1 and the initial ordering is defined
- * by its position in the {@link BeanMetadata#getArguments()} list.
- *
- * This is specified by the index attribute.
- *
- * @return The zero-based index of the parameter, or -1 if no index is
- * specified.
- */
- int getIndex();
-}
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanMetadata.java
deleted file mode 100644
index 8982fa6660..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanMetadata.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 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.blueprint.reflect;
-
-import java.util.List;
-
-/**
- * Metadata for a Bean component.
- *
- *
- * This is specified by the
- * When a factory method and factory component have been specified for the
- * bean, this method returns the factory component on which to invoke the
- * factory method for the bean. When no factory component has been specified
- * this method will return
- * This is specified by the
- * This Metadata type is used for keys in Maps because they cannot be
- *
- * The {@link MapEntry} objects of properties are defined with keys and values
- * of type
- * This is specified by the
- * This is specified by the
- * This is specified by the
- * The registration listener is called with the initial state of the service
- * when the registration listener is actuated.
- *
- * @ThreadSafe
- * @version $Revision$
- */
-public interface RegistrationListener {
-
- /**
- * Return the Metadata for the component that will receive registration and
- * unregistration events.
- *
- * This is specified by the
- * This is specified by the Blueprint Reflection Package Version 1.0.
- Bundles wishing to use this package must list the package
-in the Import-Package header of the bundle's manifest.
-For example:
- This package provides a reflection-based view of the configuration information for a
- Blueprint Container.
-bean element.
- *
- * @ThreadSafe
- * @version $Revision$
- */
-public interface BeanMetadata extends Target, ComponentMetadata {
-
- /**
- * The bean has singleton scope.
- *
- * @see #getScope()
- */
- static final String SCOPE_SINGLETON = "singleton";
-
- /**
- * The bean has prototype scope.
- *
- * @see #getScope()
- */
- static final String SCOPE_PROTOTYPE = "prototype";
-
- /**
- * Return the name of the class specified for the bean.
- *
- * This is specified by the class attribute of the bean
- * definition.
- *
- * @return The name of the class specified for the bean. If no class is
- * specified in the bean definition, because the a factory component
- * is used instead, then this method will return null.
- */
- String getClassName();
-
- /**
- * Return the name of the init method specified for the bean.
- *
- * This is specified by the init-method attribute of the bean
- * definition.
- *
- * @return The name of the init method specified for the bean, or
- * null if no init method is specified.
- */
- String getInitMethod();
-
- /**
- * Return the name of the destroy method specified for the bean.
- *
- * This is specified by the destroy-method attribute of the
- * bean definition.
- *
- * @return The name of the destroy method specified for the bean, or
- * null if no destroy method is specified.
- */
- String getDestroyMethod();
-
- /**
- * Return the arguments for the factory method or constructor of the bean.
- *
- * This is specified by the child argument elements.
- *
- * @return An immutable List of {@link BeanArgument} objects for the factory
- * method or constructor of the bean. The List is empty if no
- * arguments are specified for the bean.
- */
- Listproperty elements.
- *
- * @return An immutable List of {@link BeanProperty} objects, with one entry
- * for each property to be injected in the bean. The List is empty
- * if no property injection is specified for the bean.
- *
- */
- Listfactory-method attribute of the
- * bean.
- *
- * @return The name of the factory method of the bean or null
- * if no factory method is specified for the bean.
- */
- String getFactoryMethod();
-
- /**
- * Return the Metadata for the factory component on which to invoke the
- * factory method for the bean.
- *
- * This is specified by the factory-ref attribute of the bean.
- *
- * null.
- *
- * When a factory method has been specified for the bean but a factory
- * component has not been specified, the factory method must be invoked as a
- * static method on the bean's class.
- *
- * @return The Metadata for the factory component on which to invoke the
- * factory method for the bean or null if no factory
- * component is specified.
- */
- Target getFactoryComponent();
-
- /**
- * Return the scope for the bean.
- *
- * @return The scope for the bean.
- * @see #SCOPE_SINGLETON
- * @see #SCOPE_PROTOTYPE
- */
- String getScope();
-}
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanProperty.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanProperty.java
deleted file mode 100644
index 94b0e3eab5..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanProperty.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 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.blueprint.reflect;
-
-/**
- * Metadata for a property to be injected into a bean. The properties of a bean
- * are obtained from {@link BeanMetadata#getProperties()}.
- *
- * This is specified by the property elements of a bean. Properties
- * are defined according to the Java Beans conventions.
- *
- * @ThreadSafe
- * @version $Revision$
- */
-public interface BeanProperty {
-
- /**
- * Return the name of the property to be injected. The name follows Java
- * Beans conventions.
- *
- * This is specified by the name attribute.
- *
- * @return The name of the property to be injected.
- */
- String getName();
-
- /**
- * Return the Metadata for the value to be injected into a bean.
- *
- * This is specified by the value attribute or in inlined text.
- *
- * @return The Metadata for the value to be injected into a bean.
- */
- Metadata getValue();
-}
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/CollectionMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/CollectionMetadata.java
deleted file mode 100644
index ff6669c43f..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/CollectionMetadata.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 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.blueprint.reflect;
-
-import java.util.List;
-
-/**
- * Metadata for a collection based value. Values of the collection are defined
- * by Metadata objects. This Collection Metadata can constrain the values of the
- * collection to a specific type.
- *
- * @ThreadSafe
- * @version $Revision$
- */
-
-public interface CollectionMetadata extends NonNullMetadata {
-
- /**
- * Return the type of the collection.
- *
- * The possible types are: array (Object[]), Set,
- * and List. This information is specified in the element name.
- *
- * @return The type of the collection. Object[] is returned to
- * indicate an array.
- */
- Class> getCollectionClass();
-
- /**
- * Return the type specified for the values of the collection.
- *
- * The value-type attribute specified this information.
- *
- * @return The type specified for the values of the collection.
- */
- String getValueType();
-
- /**
- * Return Metadata for the values of the collection.
- *
- * @return A List of Metadata for the values of the collection.
- */
- Listnull if this is an anonymously defined and/or
- * inlined component.
- */
- String getId();
-
- /**
- * Return the activation strategy for the component.
- *
- * This is specified by the activation attribute of a component
- * definition. If this is not set, then the default-activation
- * in the blueprint element is used. If that is also not set,
- * then the activation strategy is {@link #ACTIVATION_EAGER}.
- *
- * @return The activation strategy for the component.
- * @see #ACTIVATION_EAGER
- * @see #ACTIVATION_LAZY
- */
- int getActivation();
-
- /**
- * Return the ids of any components listed in a depends-on
- * attribute for the component.
- *
- * @return An immutable List of component ids that are explicitly declared
- * as a dependency, or an empty List if none.
- */
- Listcomponent-id attribute of a
- * component.
- *
- * @return The id of the referenced component.
- */
- String getComponentId();
-}
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/MapEntry.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/MapEntry.java
deleted file mode 100644
index c50008b94f..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/MapEntry.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 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.blueprint.reflect;
-
-/**
- * Metadata for a map entry.
- *
- * This type is used by {@link MapMetadata}, {@link PropsMetadata} and
- * {@link ServiceMetadata}.
- *
- * @ThreadSafe
- * @version $Revision$
- */
-public interface MapEntry {
- /**
- * Return the Metadata for the key of the map entry.
- *
- * This is specified by the key attribute or element.
- *
- * @return The Metadata for the key of the map entry. This must not be
- * null.
- */
- NonNullMetadata getKey();
-
- /**
- * Return the Metadata for the value of the map entry.
- *
- * This is specified by the value attribute or element.
- *
- * @return The Metadata for the value of the map entry. This must not be
- * null.
- */
- Metadata getValue();
-}
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/MapMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/MapMetadata.java
deleted file mode 100644
index 586625eabf..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/MapMetadata.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 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.blueprint.reflect;
-
-import java.util.List;
-
-/**
- * Metadata for a Map based value.
- *
- * map element.
- *
- * @ThreadSafe
- * @version $Revision$
- */
-public interface MapMetadata extends NonNullMetadata {
- /**
- * Return the name of the type of the map keys.
- *
- * This is specified by the key-type attribute of the map.
- *
- * @return The name of the type of the map keys, or null if
- * none is specified.
- */
- String getKeyType();
-
- /**
- * Return the name of the type of the map values.
- *
- * This is specified by the value-type attribute of the map.
- *
- * @return The name of the type of the map values, or null if
- * none is specified.
- */
- String getValueType();
-
- /**
- * Return the entries for the map.
- *
- * @return An immutable List of {@link MapEntry} objects for each entry in
- * the map. The List is empty if no entries are specified for the
- * map.
- */
- Listnull. All Metadata subtypes
- * extend this type except for {@link NullMetadata}.
- *
- * null.
- *
- * @ThreadSafe
- * @version $Revision$
- */
-public interface NonNullMetadata extends Metadata {
- // marker interface
-}
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/NullMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/NullMetadata.java
deleted file mode 100644
index 5045eeabf7..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/NullMetadata.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 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.blueprint.reflect;
-
-/**
- * Metadata for a value specified to be null via the <null>
- * element.
- *
- * @ThreadSafe
- * @version $Revision$
- */
-public interface NullMetadata extends Metadata {
-
- /**
- * Singleton instance of NullMetadata.
- */
- static final NullMetadata NULL = new NullMetadata() {
- // empty body
- };
-}
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/PropsMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/PropsMetadata.java
deleted file mode 100644
index e013ec7249..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/PropsMetadata.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 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.blueprint.reflect;
-
-import java.util.List;
-
-/**
- * Metadata for a java.util.Properties based value.
- *
- * String.
- *
- * props element.
- *
- * @ThreadSafe
- * @version $Revision$
- */
-public interface PropsMetadata extends NonNullMetadata {
-
- /**
- * Return the entries for the properties.
- *
- * @return An immutable List of {@link MapEntry} objects for each entry in
- * the properties. The List is empty if no entries are specified for
- * the properties.
- */
- Listcomponent-id attribute of a
- * component.
- *
- * @return The id of the referenced component.
- */
- String getComponentId();
-}
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListMetadata.java
deleted file mode 100644
index 43722e1e58..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListMetadata.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 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.blueprint.reflect;
-
-/**
- * Metadata for a list of service references.
- *
- * reference-list element.
- *
- * @ThreadSafe
- * @version $Revision$
- */
-public interface ReferenceListMetadata extends ServiceReferenceMetadata {
-
- /**
- * Reference list values must be proxies to the actual service objects.
- *
- * @see #getMemberType()
- */
- static final int USE_SERVICE_OBJECT = 1;
-
- /**
- * Reference list values must be ServiceReference objects.
- *
- * @see #getMemberType()
- */
- static final int USE_SERVICE_REFERENCE = 2;
-
- /**
- * Return whether the List will contain service object proxies or
- * ServiceReference objects.
- *
- * This is specified by the member-type attribute of the
- * reference list.
- *
- * @return Whether the List will contain service object proxies or
- * ServiceReference objects.
- * @see #USE_SERVICE_OBJECT
- * @see #USE_SERVICE_REFERENCE
- */
- int getMemberType();
-}
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListener.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListener.java
deleted file mode 100644
index 2e48063796..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListener.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 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.blueprint.reflect;
-
-/**
- * Metadata for a reference listener interested in the reference bind and unbind
- * events for a service reference.
- *
- * @ThreadSafe
- * @version $Revision$
- */
-public interface ReferenceListener {
-
- /**
- * Return the Metadata for the component that will receive bind and unbind
- * events.
- *
- * This is specified by the ref attribute or via an inlined
- * component.
- *
- * @return The Metadata for the component that will receive bind and unbind
- * events.
- */
- Target getListenerComponent();
-
- /**
- * Return the name of the bind method. The bind method will be invoked when
- * a matching service is bound to the reference.
- *
- * This is specified by the bind-method attribute of the
- * reference listener.
- *
- * @return The name of the bind method.
- */
- String getBindMethod();
-
- /**
- * Return the name of the unbind method. The unbind method will be invoked
- * when a matching service is unbound from the reference.
- *
- * This is specified by the unbind-method attribute of the
- * reference listener.
- *
- * @return The name of the unbind method.
- */
- String getUnbindMethod();
-}
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceMetadata.java
deleted file mode 100644
index 90d5dbb2b6..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceMetadata.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 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.blueprint.reflect;
-
-/**
- * Metadata for a reference that will bind to a single matching service in the
- * service registry.
- *
- * reference element.
- *
- * @ThreadSafe
- * @version $Revision$
- */
-public interface ReferenceMetadata extends Target, ServiceReferenceMetadata {
-
- /**
- * Return the timeout for service invocations when a backing service is is
- * unavailable.
- *
- * This is specified by the timeout attribute of the reference.
- *
- * @return The timeout, in milliseconds, for service invocations when a
- * backing service is is unavailable.
- */
- long getTimeout();
-}
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/RegistrationListener.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/RegistrationListener.java
deleted file mode 100644
index 28cc06a490..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/RegistrationListener.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 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.blueprint.reflect;
-
-/**
- * Metadata for a registration listener interested in service registration and
- * unregistration events for a service.
- *
- * ref attribute or via an inlined
- * component.
- *
- * @return The Metadata for the component that will receive registration and
- * unregistration events.
- */
- Target getListenerComponent();
-
- /**
- * Return the name of the registration method. The registration method will
- * be invoked when the associated service is registered with the service
- * registry.
- *
- * This is specified by the registration-method attribute of
- * the registration listener.
- *
- * @return The name of the registration method.
- */
- String getRegistrationMethod();
-
- /**
- * Return the name of the unregistration method. The unregistration method
- * will be invoked when the associated service is unregistered from the
- * service registry.
- *
- * This is specified by the unregistration-method attribute of
- * the registration listener.
- *
- * @return The name of the unregistration method.
- */
- String getUnregistrationMethod();
-}
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ServiceMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ServiceMetadata.java
deleted file mode 100644
index 9a5f1abff1..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ServiceMetadata.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 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.blueprint.reflect;
-
-import java.util.Collection;
-import java.util.List;
-
-/**
- * Metadata for a service to be registered by the Blueprint Container when
- * enabled.
- *
- * service element.
- *
- * @ThreadSafe
- * @version $Revision$
- */
-public interface ServiceMetadata extends ComponentMetadata {
-
- /**
- * Do not auto-detect types for advertised service interfaces
- *
- * @see #getAutoExport()
- */
- static final int AUTO_EXPORT_DISABLED = 1;
-
- /**
- * Advertise all Java interfaces implemented by the component instance type
- * as service interfaces.
- *
- * @see #getAutoExport()
- */
- static final int AUTO_EXPORT_INTERFACES = 2;
-
- /**
- * Advertise all Java classes in the hierarchy of the component instance
- * type as service interfaces.
- *
- * @see #getAutoExport()
- */
- static final int AUTO_EXPORT_CLASS_HIERARCHY = 3;
-
- /**
- * Advertise all Java classes and interfaces in the component instance type
- * as service interfaces.
- *
- * @see #getAutoExport()
- */
- static final int AUTO_EXPORT_ALL_CLASSES = 4;
-
- /**
- * Return the Metadata for the component to be exported as a service.
- *
- * This is specified inline or via the ref attribute of the
- * service.
- *
- * @return The Metadata for the component to be exported as a service.
- */
- Target getServiceComponent();
-
- /**
- * Return the type names of the interfaces that the service should be
- * advertised as supporting.
- *
- * This is specified in the interface attribute or child
- * interfaces element of the service.
- *
- * @return An immutable List of String for the type names of
- * the interfaces that the service should be advertised as
- * supporting. The List is empty if using auto-export
- * or no interface names are specified for the service.
- */
- Listauto-export attribute of the
- * service.
- *
- * @return The auto-export mode for the service.
- * @see #AUTO_EXPORT_DISABLED
- * @see #AUTO_EXPORT_INTERFACES
- * @see #AUTO_EXPORT_CLASS_HIERARCHY
- * @see #AUTO_EXPORT_ALL_CLASSES
- */
- int getAutoExport();
-
- /**
- * Return the user declared properties to be advertised with the service.
- *
- * This is specified by the service-properties element of the
- * service.
- *
- * @return An immutable List of {@link MapEntry} objects for the user
- * declared properties to be advertised with the service. The List
- * is empty if no service properties are specified for the service.
- */
- Listservice.ranking service property.
- *
- * This is specified by the ranking attribute of the service.
- *
- * @return The ranking value to use when advertising the service.
- */
- int getRanking();
-
- /**
- * Return the registration listeners to be notified when the service is
- * registered and unregistered with the framework.
- *
- * This is specified by the registration-listener elements of
- * the service.
- *
- * @return An immutable Collection of {@link RegistrationListener} objects
- * to be notified when the service is registered and unregistered
- * with the framework. The Collection is empty if no registration
- * listeners are specified for the service.
- */
- Collectionavailability attribute of the
- * service reference.
- *
- * @return Whether or not a matching service is required at all times.
- * @see #AVAILABILITY_MANDATORY
- * @see #AVAILABILITY_OPTIONAL
- */
- int getAvailability();
-
- /**
- * Return the name of the interface type that a matching service must
- * support.
- *
- * This is specified in the interface attribute of the service
- * reference.
- *
- * @return The name of the interface type that a matching service must
- * support or null when no interface name is specified.
- */
- String getInterface();
-
- /**
- * Return the value of the component-name attribute of the
- * service reference. This specifies the id of a component that is
- * registered in the service registry. This will create an automatic filter,
- * appended with the filter if set, to select this component based on its
- * automatic id attribute.
- *
- * @return The value of the component-name attribute of the
- * service reference or null if the attribute is not
- * specified.
- */
- String getComponentName();
-
- /**
- * Return the filter expression that a matching service must match.
- *
- * This is specified by the filter attribute of the service
- * reference.
- *
- * @return The filter expression that a matching service must match or
- * null if a filter is not specified.
- */
- String getFilter();
-
- /**
- * Return the reference listeners to receive bind and unbind events.
- *
- * This is specified by the reference-listener elements of the
- * service reference.
- *
- * @return An immutable Collection of {@link ReferenceListener} objects to
- * receive bind and unbind events. The Collection is empty if no
- * reference listeners are specified for the service reference.
- */
- Collectionbean, reference, and
- * ref, where the ref must refer to a bean or
- * reference component.
- *
- * @see BeanMetadata
- * @see ReferenceMetadata
- * @see RefMetadata
- * @ThreadSafe
- * @version $Revision$
- */
-public interface Target extends NonNullMetadata {
- // marker interface
-}
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ValueMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ValueMetadata.java
deleted file mode 100644
index a587dd8f69..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ValueMetadata.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 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.blueprint.reflect;
-
-/**
- * Metadata for a simple String value that will be type-converted
- * if necessary before injecting.
- *
- * @ThreadSafe
- * @version $Revision$
- */
-public interface ValueMetadata extends NonNullMetadata {
- /**
- * Return the unconverted string representation of the value.
- *
- * This is specified by the value attribute or text part of the
- * value element.
- *
- * @return The unconverted string representation of the value.
- */
- String getStringValue();
-
- /**
- * Return the name of the type to which the value should be converted.
- *
- * This is specified by the type attribute.
- *
- * @return The name of the type to which the value should be converted or
- * null if no type is specified.
- */
- String getType();
-}
diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/package.html b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/package.html
deleted file mode 100644
index 0731c60803..0000000000
--- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/package.html
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-Import-Package: org.osgi.service.blueprint.reflect; version="[1.0,2.0)"
-
-,
,
, and