aries-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dav...@apache.org
Subject svn commit: r1780123 - in /aries/trunk/cdi: ./ cdi-osgi-api/ cdi-osgi-api/src/ cdi-osgi-api/src/main/ cdi-osgi-api/src/main/java/ cdi-osgi-api/src/main/java/org/ cdi-osgi-api/src/main/java/org/osgi/ cdi-osgi-api/src/main/java/org/osgi/service/ cdi-osgi...
Date Tue, 24 Jan 2017 23:47:31 GMT
Author: davidb
Date: Tue Jan 24 23:47:30 2017
New Revision: 1780123

URL: http://svn.apache.org/viewvc?rev=1780123&view=rev
Log:
ARIES-1665 Initial contribution of OSGi-CDI API from OSGi

Originating OSGi commit: 0e64a3a27df0eaab24f68758ff1309774574143e (core branch)

Added:
    aries/trunk/cdi/
    aries/trunk/cdi/cdi-osgi-api/
    aries/trunk/cdi/cdi-osgi-api/bnd.bnd
    aries/trunk/cdi/cdi-osgi-api/pom.xml
    aries/trunk/cdi/cdi-osgi-api/src/
    aries/trunk/cdi/cdi-osgi-api/src/main/
    aries/trunk/cdi/cdi-osgi-api/src/main/java/
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/CdiContainer.java
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/CdiEvent.java
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/CdiExtenderConstants.java
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/CdiListener.java
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/BundleScoped.java
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/MinCardinality.java
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/PropertyType.java
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/PrototypeScoped.java
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/Reference.java
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/ReferenceFilterQualifier.java
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/ReferenceScope.java
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/Service.java
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/ServiceProperty.java
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/ServicePropertyQualifier.java
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/package-info.java
    aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/package-info.java

Added: aries/trunk/cdi/cdi-osgi-api/bnd.bnd
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-osgi-api/bnd.bnd?rev=1780123&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-osgi-api/bnd.bnd (added)
+++ aries/trunk/cdi/cdi-osgi-api/bnd.bnd Tue Jan 24 23:47:30 2017
@@ -0,0 +1,3 @@
+Export-Package:\
+	org.osgi.service.cdi,\
+	org.osgi.service.cdi.annotations
\ No newline at end of file

Added: aries/trunk/cdi/cdi-osgi-api/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-osgi-api/pom.xml?rev=1780123&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-osgi-api/pom.xml (added)
+++ aries/trunk/cdi/cdi-osgi-api/pom.xml Tue Jan 24 23:47:30 2017
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.apache.aries.cdi</groupId>
+		<artifactId>org.apache.aries.cdi</artifactId>
+		<version>0.0.1-SNAPSHOT</version>
+		<relativePath>..</relativePath>
+	</parent>
+
+	<artifactId>org.apache.aries.cdi.osgi.api</artifactId>
+	<version>0.0.1-SNAPSHOT</version>
+	<name>OSGi CDI API</name>
+	<description>OSGi CDI API</description>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>biz.aQute.bnd</groupId>
+				<artifactId>bnd-maven-plugin</artifactId>
+			</plugin>
+			<!--
+			<plugin>
+				<groupId>biz.aQute.bnd</groupId>
+				<artifactId>bnd-baseline-maven-plugin</artifactId>
+			</plugin>
+			-->
+		</plugins>
+	</build>
+
+	<dependencies>
+		<dependency>
+			<groupId>javax.inject</groupId>
+			<artifactId>javax.inject</artifactId>
+			<version>1</version>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>javax.enterprise</groupId>
+			<artifactId>cdi-api</artifactId>
+			<version>1.2</version>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.osgi</groupId>
+			<artifactId>org.osgi.annotation</artifactId>
+			<version>6.0.0</version>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.osgi</groupId>
+			<artifactId>osgi.core</artifactId>
+			<version>6.0.0</version>
+			<scope>provided</scope>
+		</dependency>
+	</dependencies>
+
+</project>

Added: aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/CdiContainer.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/CdiContainer.java?rev=1780123&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/CdiContainer.java (added)
+++ aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/CdiContainer.java Tue
Jan 24 23:47:30 2017
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) OSGi Alliance (2016, 2017). 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.cdi;
+
+import javax.enterprise.inject.spi.BeanManager;
+
+/**
+ * A CdiContainer object is registered by the CDI extender in the OSGi registry
+ * for each managed CDI bundle.
+ */
+public interface CdiContainer {
+
+	/**
+	 * When the {@link CdiContainer} is READY the {@link BeanManager} will be
+	 * available.
+	 *
+	 * @return BeanManager
+	 */
+	public BeanManager getBeanManager();
+}

Added: aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/CdiEvent.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/CdiEvent.java?rev=1780123&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/CdiEvent.java (added)
+++ aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/CdiEvent.java Tue Jan
24 23:47:30 2017
@@ -0,0 +1,186 @@
+/*
+ * Copyright (c) OSGi Alliance (2016, 2017). 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.cdi;
+
+import org.osgi.framework.Bundle;
+
+/**
+ * CdiEvents are sent by the CDI extender and received by registered CdiListener
+ * services.
+ */
+public class CdiEvent {
+
+	/**
+	 * An enum defining the states of a CDI container.
+	 *
+	 */
+	public static enum State {
+
+		/**
+		 * The CDI container has started being created.
+		 */
+		CREATING,
+
+		/**
+		 * The CDI container is created and should be fully usable.
+		 */
+		CREATED,
+
+		/**
+		 * The CDI container has started being destroyed.
+		 */
+		DESTROYING,
+
+		/**
+		 * The CDI container is completely destroyed.
+		 */
+		DESTROYED,
+
+		/**
+		 * The CDI container is waiting for dependent extensions.
+		 */
+		WAITING_FOR_EXTENSIONS,
+
+		/**
+		 * The CDI container is waiting for dependent services.
+		 */
+		WAITING_FOR_SERVICES,
+
+		/**
+		 * The CDI container is satisfied and resuming construction.
+		 */
+		SATISFIED,
+
+		/**
+		 * The CDI container has suffered a failure and will be destroyed.
+		 */
+		FAILURE
+	}
+
+	/**
+	 * @param type
+	 * @param bundle
+	 * @param extenderBundle
+	 */
+	public CdiEvent(State type, Bundle bundle, Bundle extenderBundle) {
+		this(type, bundle, extenderBundle, null, null);
+	}
+
+	/**
+	 * @param type
+	 * @param bundle
+	 * @param extenderBundle
+	 * @param payload
+	 */
+	public CdiEvent(State type, Bundle bundle, Bundle extenderBundle, String payload) {
+		this(type, bundle, extenderBundle, payload, null);
+	}
+
+	/**
+	 * @param type
+	 * @param bundle
+	 * @param extenderBundle
+	 * @param payload
+	 * @param cause
+	 */
+	public CdiEvent(State type, Bundle bundle, Bundle extenderBundle, String payload, Throwable
cause) {
+		this.type = type;
+		this.bundle = bundle;
+		this.extenderBundle = extenderBundle;
+		this.payload = payload;
+		this.cause = cause;
+		this.timestamp = System.currentTimeMillis();
+
+		StringBuilder sb = new StringBuilder();
+
+		sb.append("{type:'");
+		sb.append(this.type);
+		sb.append("',timestamp:");
+		sb.append(this.timestamp);
+		sb.append(",bundle:'");
+		sb.append(this.bundle);
+		sb.append("',extenderBundle:'");
+		sb.append(this.extenderBundle);
+		if (this.payload != null) {
+			sb.append("',payload:'");
+			sb.append(this.payload);
+		}
+		if (this.cause != null) {
+			sb.append("',cause:'");
+			sb.append(this.cause.getMessage());
+		}
+		sb.append("'}");
+
+		string = sb.toString();
+	}
+
+	/**
+	 * @return the bundle who's CDI container triggered this event
+	 */
+	public Bundle getBundle() {
+		return bundle;
+	}
+
+	/**
+	 * @return the cause of the event if there was one
+	 */
+	public Throwable getCause() {
+		return cause;
+	}
+
+	/**
+	 * @return the bundle of the CDI extender
+	 */
+	public Bundle getExtenderBundle() {
+		return extenderBundle;
+	}
+
+	/**
+	 * @return the payload associated with this event
+	 */
+	public String getPayload() {
+		return payload;
+	}
+
+	/**
+	 * @return the timestamp of the event
+	 */
+	public long getTimestamp() {
+		return timestamp;
+	}
+
+	/**
+	 * @return the state of this event
+	 */
+	public State getState() {
+		return type;
+	}
+
+	@Override
+	public String toString() {
+		return string;
+	}
+
+	private final Bundle bundle;
+	private final Throwable cause;
+	private final Bundle extenderBundle;
+	private final String payload;
+	private final long timestamp;
+	private final State type;
+	private final String string;
+
+}

Added: aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/CdiExtenderConstants.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/CdiExtenderConstants.java?rev=1780123&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/CdiExtenderConstants.java
(added)
+++ aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/CdiExtenderConstants.java
Tue Jan 24 23:47:30 2017
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) OSGi Alliance (2016, 2017). 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.cdi;
+
+/**
+ * Defines CDI Extender constants.
+ */
+public class CdiExtenderConstants {
+	private CdiExtenderConstants() {
+		// non-instantiable
+	}
+
+	/**
+	 * The name used for the CDI extender in the osgi.extender namespace.
+	 */
+	public static final String	CDI_EXTENDER						= "osgi.cdi";
+
+	/**
+	 * The key of the CdiContainer state service property.
+	 */
+	public static final String	CDI_EXTENDER_CONTAINER_STATE		= "osgi.cdi.container.state";
+
+	/**
+	 * The namespace for CDI extensions.
+	 */
+	public static final String	CDI_EXTENSION						= "osgi.cdi.extension";
+
+	/**
+	 * The 'beans' directive on the CDI extender requirement.
+	 *
+	 * <p>
+	 * The value of this directive is a comma delimited list of bean class names
+	 * that should be processed by the CDI container. When used, no other
+	 * classes in the bundle should be instantiated as beans. This set of class
+	 * names may be further reduced by exclusions in the beans.xml file.
+	 */
+	public static final String	REQUIREMENT_BEANS_DIRECTIVE			= "beans";
+
+	/**
+	 * The 'references' directive on the CDI extender requirement.
+	 *
+	 * <p>
+	 * The value of this directive is a comma delimited list of bean class names
+	 * who's injection points should be satisfied by OSGi services.
+	 */
+	public static final String	REQUIREMENT_REFERENCES_DIRECTIVE	= "references";
+
+	/**
+	 * The 'services' directive on the CDI extender requirement.
+	 *
+	 * <p>
+	 * The value of this directive is a comma delimited list of bean class names
+	 * that should be published as OSGi services.
+	 */
+	public static final String	REQUIREMENT_SERVICES_DIRECTIVE		= "services";
+
+}

Added: aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/CdiListener.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/CdiListener.java?rev=1780123&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/CdiListener.java (added)
+++ aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/CdiListener.java Tue Jan
24 23:47:30 2017
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) OSGi Alliance (2016, 2017). 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.cdi;
+
+/**
+ * A CdiListener object can be registered in the OSGi registry.
+ */
+public interface CdiListener {
+
+	/**
+	 * Receives CDI events.
+	 *
+	 * @param event
+	 */
+	public void cdiEvent(CdiEvent event);
+}

Added: aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/BundleScoped.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/BundleScoped.java?rev=1780123&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/BundleScoped.java
(added)
+++ aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/BundleScoped.java
Tue Jan 24 23:47:30 2017
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) OSGi Alliance (2016, 2017). 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.cdi.annotations;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import javax.inject.Qualifier;
+import javax.inject.Scope;
+
+/**
+ * When a bean is registered as a service, it must be registered with bundle
+ * scope and an instance of the bean must be created for each bundle using the
+ * service.
+ */
+@Qualifier
+@Target(value = { ElementType.TYPE })
+@Retention(value = RetentionPolicy.RUNTIME)
+@Documented
+@Scope
+public @interface BundleScoped {
+}

Added: aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/MinCardinality.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/MinCardinality.java?rev=1780123&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/MinCardinality.java
(added)
+++ aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/MinCardinality.java
Tue Jan 24 23:47:30 2017
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) OSGi Alliance (2017). 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.cdi.annotations;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import javax.enterprise.inject.Instance;
+
+/**
+ * Annotation used to declare the minimum cardinality for a {@link Reference}
+ * on a field or parameter of type {@link Instance}
+ */
+@Target(value = {ElementType.FIELD, ElementType.PARAMETER})
+@Retention(value = RetentionPolicy.RUNTIME)
+@Documented
+public @interface MinCardinality {
+
+	/**
+	 * The minimum cardinality. Negative values are ignored.
+	 *
+	 * @return minimum cardinality
+	 */
+	int value() default 1;
+
+}

Added: aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/PropertyType.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/PropertyType.java?rev=1780123&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/PropertyType.java
(added)
+++ aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/PropertyType.java
Tue Jan 24 23:47:30 2017
@@ -0,0 +1,241 @@
+/*
+ * Copyright (c) OSGi Alliance (2016, 2017). 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.cdi.annotations;
+
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * The possible property types available to {@link ServiceProperty} instances.
+ */
+public enum PropertyType {
+
+	/**
+	 * <code>java.lang.Boolean</code>
+	 */
+	Boolean("Boolean", new TypeRef<Boolean>() {/**/}),
+
+	/**
+	 * <code>java.lang.Byte</code>
+	 */
+	Byte("Byte", new TypeRef<Byte>() {/**/}),
+
+	/**
+	 * <code>java.lang.Character</code>
+	 */
+	Character("Character", new TypeRef<Character>() {/**/}),
+
+	/**
+	 * <code>java.lang.Double</code>
+	 */
+	Double("Double", new TypeRef<Double>() {/**/}),
+
+	/**
+	 * <code>java.lang.Float</code>
+	 */
+	Float("Float", new TypeRef<Float>() {/**/}),
+
+	/**
+	 * <code>java.lang.Integer</code>
+	 */
+	Integer("Integer", new TypeRef<Integer>() {/**/}),
+
+	/**
+	 * <code>java.lang.Long</code>
+	 */
+	Long("Long", new TypeRef<Long>() {/**/}),
+
+	/**
+	 * <code>java.lang.Short</code>
+	 */
+	Short("Short", new TypeRef<Short>() {/**/}),
+
+	/**
+	 * <code>java.lang.String</code>
+	 */
+	String("String", new TypeRef<String>() {/**/}),
+
+	/**
+	 * <code>java.lang.Boolean[]</code>
+	 */
+	Boolean_Array("Boolean[]", new TypeRef<Boolean[]>() {/**/}),
+
+	/**
+	 * <code>java.lang.Byte[]</code>
+	 */
+	Byte_Array("Byte[]", new TypeRef<Byte[]>() {/**/}),
+
+	/**
+	 * <code>java.lang.Character[]</code>
+	 */
+	Character_Array("Character[]", new TypeRef<Character[]>() {/**/}),
+
+	/**
+	 * <code>java.lang.Double[]</code>
+	 */
+	Double_Array("Double[]", new TypeRef<Double[]>() {/**/}),
+
+	/**
+	 * <code>java.lang.Float[]</code>
+	 */
+	Float_Array("Float[]", new TypeRef<Float[]>() {/**/}),
+
+	/**
+	 * <code>java.lang.Integer[]</code>
+	 */
+	Integer_Array("Integer[]", new TypeRef<Integer[]>() {/**/}),
+
+	/**
+	 * <code>java.lang.Long[]</code>
+	 */
+	Long_Array("Long[]", new TypeRef<Long[]>() {/**/}),
+
+	/**
+	 * <code>java.lang.Short[]</code>
+	 */
+	Short_Array("Short[]", new TypeRef<Short[]>() {/**/}),
+
+	/**
+	 * <code>java.lang.String[]</code>
+	 */
+	String_Array("String[]", new TypeRef<String[]>() {/**/}),
+
+	/**
+	 * <code>java.util.List&lt;Boolean&gt;</code>
+	 */
+	Boolean_List("List<Boolean>", new TypeRef<List<Boolean>>() {/**/}),
+
+	/**
+	 * <code>java.util.List&lt;Byte&gt;</code>
+	 */
+	Byte_List("List<Byte>", new TypeRef<List<Byte>>() {/**/}),
+
+	/**
+	 * <code>java.util.List&lt;Character&gt;</code>
+	 */
+	Character_List("List<Character>", new TypeRef<List<Character>>() {/**/}),
+
+	/**
+	 * <code>java.util.List&lt;Double&gt;</code>
+	 */
+	Double_List("List<Double>", new TypeRef<List<Double>>() {/**/}),
+
+	/**
+	 * <code>java.util.List&lt;Float&gt;</code>
+	 */
+	Float_List("List<Float>", new TypeRef<List<Float>>() {/**/}),
+
+	/**
+	 * <code>java.util.List&lt;Integer&gt;</code>
+	 */
+	Integer_List("List<Integer>", new TypeRef<List<Integer>>() {/**/}),
+
+	/**
+	 * <code>java.util.List&lt;Long&gt;</code>
+	 */
+	Long_List("List<Long>", new TypeRef<List<Long>>() {/**/}),
+
+	/**
+	 * <code>java.util.List&lt;Short&gt;</code>
+	 */
+	Short_List("List<Short>", new TypeRef<List<Short>>() {/**/}),
+
+	/**
+	 * <code>java.util.List&lt;String&gt;</code>
+	 */
+	String_List("List<String>", new TypeRef<List<String>>() {/**/}),
+
+	/**
+	 * <code>java.util.Set&lt;Boolean&gt;</code>
+	 */
+	Boolean_Set("Set<Boolean>", new TypeRef<Set<Boolean>>() {/**/}),
+
+	/**
+	 * <code>java.util.Set&lt;Byte&gt;</code>
+	 */
+	Byte_Set("Set<Byte>", new TypeRef<Set<Byte>>() {/**/}),
+
+	/**
+	 * <code>java.util.Set&lt;Character&gt;</code>
+	 */
+	Character_Set("Set<Character>", new TypeRef<Set<Character>>() {/**/}),
+
+	/**
+	 * <code>java.util.Set&lt;Double&gt;</code>
+	 */
+	Double_Set("Set<Double>", new TypeRef<Set<Double>>() {/**/}),
+
+	/**
+	 * <code>java.util.Set&lt;Float&gt;</code>
+	 */
+	Float_Set("Set<Float>", new TypeRef<Set<Float>>() {/**/}),
+
+	/**
+	 * <code>java.util.Set&lt;Integer&gt;</code>
+	 */
+	Integer_Set("Set<Integer>", new TypeRef<Set<Integer>>() {/**/}),
+
+	/**
+	 * <code>java.util.Set&lt;Long&gt;</code>
+	 */
+	Long_Set("Set<Long>", new TypeRef<Set<Long>>() {/**/}),
+
+	/**
+	 * <code>java.util.Set&lt;Short&gt;</code>
+	 */
+	Short_Set("Set<Short>", new TypeRef<Set<Short>>() {/**/}),
+
+	/**
+	 * <code>java.util.Set&lt;String&gt;</code>
+	 */
+	String_Set("Set<String>", new TypeRef<Set<String>>() {/**/});
+
+	PropertyType(String value, TypeRef<?> typeRef) {
+		this.value = value;
+		this.typeRef = typeRef;
+	}
+
+	/**
+	 * @return the type
+	 */
+	public Type getType() {
+		return typeRef.getType();
+	}
+
+	@Override
+	public java.lang.String toString() {
+		return value;
+	}
+
+	private final TypeRef<?> typeRef;
+	private final String value;
+
+	private static class TypeRef<T> {
+
+		public TypeRef() {
+		}
+
+		Type getType() {
+			return ((ParameterizedType) getClass().getGenericSuperclass())
+					.getActualTypeArguments()[0];
+		}
+
+	}
+
+}

Added: aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/PrototypeScoped.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/PrototypeScoped.java?rev=1780123&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/PrototypeScoped.java
(added)
+++ aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/PrototypeScoped.java
Tue Jan 24 23:47:30 2017
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) OSGi Alliance (2016, 2017). 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.cdi.annotations;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import javax.inject.Qualifier;
+import javax.inject.Scope;
+
+/**
+ * When a bean is registered as a service, it must be registered with prototype
+ * scope and an instance of the bean must be created for each distinct request
+ * for the service.
+ */
+@Qualifier
+@Target(value = { ElementType.TYPE })
+@Retention(value = RetentionPolicy.RUNTIME)
+@Documented
+@Scope
+public @interface PrototypeScoped {
+}

Added: aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/Reference.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/Reference.java?rev=1780123&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/Reference.java
(added)
+++ aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/Reference.java
Tue Jan 24 23:47:30 2017
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) OSGi Alliance (2016, 2017). 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.cdi.annotations;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import javax.inject.Qualifier;
+
+/**
+ * Annotation used to annotate a CDI injection point and inform the CDI extender
+ * that the injection should apply a service obtained from the OSGi registry.
+ */
+@Qualifier
+@Target(value = {ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.CONSTRUCTOR})
+@Retention(value = RetentionPolicy.RUNTIME)
+@Documented
+public @interface Reference {
+
+	/**
+	 * The reference scope for this reference.
+	 *
+	 * <p>
+	 * If not specified, the {@link ReferenceScope#BUNDLE bundle} reference
+	 * scope is used.
+	 */
+	ReferenceScope scope() default ReferenceScope.BUNDLE;
+
+	/**
+	 * The target property for this reference.
+	 *
+	 * <p>
+	 * If not specified, no target property is applied.
+	 */
+	String target() default "";
+
+	/**
+	 * <p>
+	 * If not specified, the type of the service for this reference is based
+	 * upon how this annotation is used:
+	 * <ul>
+	 * <li>Annotated method - The type of the service is the type of the first
+	 * argument of the method.</li>
+	 * <li>Annotated field - The type of the service is based upon the type of
+	 * the field being annotated.</li>
+	 * </ul>
+	 */
+	Class<?> service() default Object.class;
+
+}

Added: aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/ReferenceFilterQualifier.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/ReferenceFilterQualifier.java?rev=1780123&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/ReferenceFilterQualifier.java
(added)
+++ aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/ReferenceFilterQualifier.java
Tue Jan 24 23:47:30 2017
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) OSGi Alliance (2017). 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.cdi.annotations;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation applied to {@link javax.inject.Qualifier} for use on
+ * {@link Reference} for conversion to service filters.
+ *
+ * When the Qualifier is a simple annotation, the property key is derived from
+ * the annotation type's simple name converted to dot notation. The value is the
+ * <code>String.valueOf()</code> return value of the <code>value()</code>
+ * method.
+ *
+ * When the Qualifier is a complex annotation, the property keys are derived
+ * from the method names converted to dot notation. The values are the
+ * <code>String.valueOf()</code> return value of the methods. The key/value
+ * pairs are 'ANDed' together.
+ *
+ * Multiple such Qualifiers' on a single Reference are 'ANDed' together and as
+ * such they can be combined.
+ */
+@Target(value = ElementType.ANNOTATION_TYPE)
+@Retention(value = RetentionPolicy.RUNTIME)
+@Documented
+public @interface ReferenceFilterQualifier {
+}

Added: aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/ReferenceScope.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/ReferenceScope.java?rev=1780123&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/ReferenceScope.java
(added)
+++ aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/ReferenceScope.java
Tue Jan 24 23:47:30 2017
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) OSGi Alliance (2013, 2014, 2017). 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.cdi.annotations;
+
+/**
+ * Reference scope for the {@link Reference} annotation.
+ */
+public enum ReferenceScope {
+	/**
+	 * A single service object is used for all references to the service in this
+	 * bundle.
+	 */
+	BUNDLE("bundle"),
+
+	/**
+	 * Bound services must have prototype service scope. Each instance of the
+	 * bean with this reference can receive a unique instance of the service.
+	 */
+	PROTOTYPE("prototype"),
+
+	/**
+	 * Bound services must have singleton service scope. Each instance of the
+	 * bean with this reference will receive the same instance of the service.
+	 */
+	SINGLETON("singleton");
+
+	private final String	value;
+
+	ReferenceScope(String value) {
+		this.value = value;
+	}
+
+	@Override
+	public String toString() {
+		return value;
+	}
+
+}

Added: aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/Service.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/Service.java?rev=1780123&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/Service.java
(added)
+++ aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/Service.java
Tue Jan 24 23:47:30 2017
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) OSGi Alliance (2016, 2017). 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.cdi.annotations;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * The @Service annotation exposes a bean as an OSGi service.
+ */
+@Target(value = ElementType.TYPE)
+@Retention(value = RetentionPolicy.RUNTIME)
+@Documented
+public @interface Service {
+
+	/**
+	 * The types under which to register the bean as a service.
+	 *
+	 * <p>
+	 * If not specified, the service types for this bean are all the
+	 * <i>directly</i> implemented interfaces of the class being annotated.
+	 *
+	 * <p>
+	 * If the CDI bean does not <i>directly</i> implement any interfaces the
+	 * bean class is used.
+	 */
+	Class<?>[] type() default {};
+
+	/**
+	 * Properties for the service.
+	 *
+	 * <p>
+	 * Each property is specified as an instance of {@link ServiceProperty}.
+	 */
+	ServiceProperty[] properties() default {};
+
+}

Added: aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/ServiceProperty.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/ServiceProperty.java?rev=1780123&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/ServiceProperty.java
(added)
+++ aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/ServiceProperty.java
Tue Jan 24 23:47:30 2017
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) OSGi Alliance (2016, 2017). 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.cdi.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Annotation used to define a property that will be applied to the bean when
+ * registered as an OSGi service.
+ */
+@Retention(value = RetentionPolicy.RUNTIME)
+public @interface ServiceProperty {
+
+	/**
+	 * The key or name of the property.
+	 *
+	 * @return the key
+	 */
+	String key();
+
+	/**
+	 * The value of the property.
+	 *
+	 * @return the value
+	 */
+	String value();
+
+	/**
+	 * The type of the property.
+	 *
+	 * @return the type
+	 */
+	PropertyType type() default PropertyType.String;
+}

Added: aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/ServicePropertyQualifier.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/ServicePropertyQualifier.java?rev=1780123&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/ServicePropertyQualifier.java
(added)
+++ aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/ServicePropertyQualifier.java
Tue Jan 24 23:47:30 2017
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) OSGi Alliance (2017). 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.cdi.annotations;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation applied to {@link javax.inject.Qualifier} for use on
+ * {@link Service} for conversion to service properties.
+ *
+ * When the Qualifier is a simple annotation, the property key is derived from
+ * the annotation type's simple name converted to dot notation. The value is the
+ * return value of the value method.
+ *
+ * When the Qualifier is a complex annotation, the property keys are derived
+ * from the method names converted to dot notation.
+ */
+@Target(value = ElementType.ANNOTATION_TYPE)
+@Retention(value = RetentionPolicy.RUNTIME)
+@Documented
+public @interface ServicePropertyQualifier {
+}

Added: aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/package-info.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/package-info.java?rev=1780123&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/package-info.java
(added)
+++ aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/annotations/package-info.java
Tue Jan 24 23:47:30 2017
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) OSGi Alliance (2013, 2017). 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.
+ */
+
+/**
+ * CDI Integration Package Version 0.0.1.
+ *
+ * <p>
+ * Bundles wishing to use this package must list the package in the
+ * Import-Package header of the bundle's manifest. This package has two types of
+ * users: the consumers that use the API in this package and the providers that
+ * implement the API in this package.
+ *
+ * <p>
+ * Example import for consumers using the API in this package:
+ * <p>
+ * {@code  Import-Package: org.osgi.service.cdi.annotations; version="[1.0,2.0)"}
+ * <p>
+ * Example import for providers implementing the API in this package:
+ * <p>
+ * {@code  Import-Package: org.osgi.service.cdi.annotations; version="[1.0,1.1)"}
+ */
+
+@Version("0.0.1")
+package org.osgi.service.cdi.annotations;
+
+import org.osgi.annotation.versioning.Version;

Added: aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/package-info.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/package-info.java?rev=1780123&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/package-info.java (added)
+++ aries/trunk/cdi/cdi-osgi-api/src/main/java/org/osgi/service/cdi/package-info.java Tue
Jan 24 23:47:30 2017
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) OSGi Alliance (2013, 2017). 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.
+ */
+
+/**
+ * CDI Integration Package Version 0.0.1.
+ *
+ * <p>
+ * Bundles wishing to use this package must list the package in the
+ * Import-Package header of the bundle's manifest. This package has two types of
+ * users: the consumers that use the API in this package and the providers that
+ * implement the API in this package.
+ *
+ * <p>
+ * Example import for consumers using the API in this package:
+ * <p>
+ * {@code  Import-Package: org.osgi.service.cdi; version="[1.0,2.0)"}
+ * <p>
+ * Example import for providers implementing the API in this package:
+ * <p>
+ * {@code  Import-Package: org.osgi.service.cdi; version="[1.0,1.1)"}
+ */
+
+@Version("0.0.1")
+package org.osgi.service.cdi;
+
+import org.osgi.annotation.versioning.Version;



Mime
View raw message