This is an automated email from the git hooks/post-receive script. seamlik-guest pushed a commit to branch master in repository osgi-compendium.
commit 429e476a4d74ffb15bb9474ffec64b7c5c2668ec Author: 殷啟聰 | Kai-Chung Yan <[email protected]> Date: Thu Mar 1 17:16:10 2018 +0800 Remove the patches: Not needed in version 6 --- debian/patches/01-osgi6-features.patch | 1274 -------------------------------- debian/patches/series | 1 - 2 files changed, 1275 deletions(-) diff --git a/debian/patches/01-osgi6-features.patch b/debian/patches/01-osgi6-features.patch deleted file mode 100644 index c753590..0000000 --- a/debian/patches/01-osgi6-features.patch +++ /dev/null @@ -1,1274 +0,0 @@ -Description: Add new types from OSGi Compendium 6 required by BND 2.4.0 -Origin: backport, http://repo1.maven.org/maven2/org/osgi/org.osgi.service.component.annotations/1.3.0/org.osgi.service.component.annotations-1.3.0-sources.jar - http://repo1.maven.org/maven2/org/osgi/org.osgi.service.metatype.annotations/1.3.0/org.osgi.service.metatype.annotations-1.3.0-sources.jar ---- a/org/osgi/service/component/annotations/Component.java -+++ b/org/osgi/service/component/annotations/Component.java -@@ -183,18 +183,82 @@ - ConfigurationPolicy configurationPolicy() default ConfigurationPolicy.OPTIONAL; - - /** -- * The configuration PID for the configuration of this Component. -+ * The configuration PIDs for the configuration of this Component. - * - * <p> -- * Allows the configuration PID for this Component to be different than the -- * name of this Component. -+ * Each value specifies a configuration PID for this Component. - * - * <p> -- * If not specified, the name of this Component is used as the configuration -- * PID of this Component. -+ * If no value is specified, the name of this Component is used as the -+ * configuration PID of this Component. -+ * -+ * <p> -+ * A special string (<code>{@value #NAME}</code>) can be used to specify the -+ * name of the component as a configuration PID. The {@code NAME} constant -+ * holds this special string. For example: -+ * -+ * <pre> -+ * @Component(configurationPid={"com.acme.system", Component.NAME}) -+ * </pre> -+ * -+ * Tools creating a Component Description from this annotation must replace -+ * the special string with the actual name of this Component. - * - * @see "The configuration-pid attribute of the component element of a Component Description." - * @since 1.2 - */ -- String configurationPid() default ""; -+ String[] configurationPid() default NAME; -+ -+ /** -+ * Special string representing the name of this Component. -+ * -+ * <p> -+ * This string can be used in {@link #configurationPid()} to specify the -+ * name of the component as a configuration PID. For example: -+ * -+ * <pre> -+ * @Component(configurationPid={"com.acme.system", Component.NAME}) -+ * </pre> -+ * -+ * Tools creating a Component Description from this annotation must replace -+ * the special string with the actual name of this Component. -+ * -+ * @since 1.3 -+ */ -+ String NAME = "$"; -+ -+ /** -+ * The service scope for the service of this Component. -+ * -+ * <p> -+ * If not specified (and the deprecated {@link #servicefactory()} element is -+ * not specified), the {@link ServiceScope#SINGLETON singleton} service -+ * scope is used. If the {@link #factory()} element is specified or the -+ * {@link #immediate()} element is specified with {@code true}, this element -+ * can only be specified with the {@link ServiceScope#SINGLETON singleton} -+ * service scope. -+ * -+ * @see "The scope attribute of the service element of a Component Description." -+ * @since 1.3 -+ */ -+ ServiceScope scope() default ServiceScope.DEFAULT; -+ -+ /** -+ * The lookup strategy references of this Component. -+ * -+ * <p> -+ * To access references using the lookup strategy, {@link Reference} -+ * annotations are specified naming the reference and declaring the type of -+ * the referenced service. The referenced service can be accessed using one -+ * of the {@code locateService} methods of {@code ComponentContext}. -+ * -+ * <p> -+ * To access references using the event strategy, bind methods are annotated -+ * with {@link Reference}. To access references using the field strategy, -+ * fields are annotated with {@link Reference}. -+ * -+ * @see "The reference element of a Component Description." -+ * @since 1.3 -+ */ -+ Reference[] reference() default {}; - } ---- /dev/null -+++ b/org/osgi/service/component/annotations/FieldOption.java -@@ -0,0 +1,54 @@ -+/* -+ * Copyright (c) OSGi Alliance (2014, 2015). All Rights Reserved. -+ * -+ * Licensed under the Apache License, Version 2.0 (the "License"); -+ * you may not use this file except in compliance with the License. -+ * You may obtain a copy of the License at -+ * -+ * http://www.apache.org/licenses/LICENSE-2.0 -+ * -+ * Unless required by applicable law or agreed to in writing, software -+ * distributed under the License is distributed on an "AS IS" BASIS, -+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ * See the License for the specific language governing permissions and -+ * limitations under the License. -+ */ -+ -+package org.osgi.service.component.annotations; -+ -+/** -+ * Field options for the {@link Reference} annotation. -+ * -+ * @since 1.3 -+ * @author $Id: 35bfd6c67110ff6c5cd5c9c1764398e4024dbb59 $ -+ */ -+public enum FieldOption { -+ -+ /** -+ * The update field option is used to update the collection referenced by -+ * the field when there are changes to the bound services. -+ * -+ * <p> -+ * This field option can only be used when the field reference has dynamic -+ * policy and multiple cardinality. -+ */ -+ UPDATE("update"), -+ -+ /** -+ * The replace field option is used to replace the field value with a new -+ * value when there are changes to the bound services. -+ */ -+ REPLACE("replace"); -+ -+ private final String value; -+ -+ FieldOption(String value) { -+ this.value = value; -+ } -+ -+ @Override -+ public String toString() { -+ return value; -+ } -+} -+ ---- /dev/null -+++ b/org/osgi/service/component/annotations/LookupReference.java -@@ -0,0 +1,112 @@ -+/* -+ * Copyright (c) OSGi Alliance (2013). All Rights Reserved. -+ * -+ * Licensed under the Apache License, Version 2.0 (the "License"); -+ * you may not use this file except in compliance with the License. -+ * You may obtain a copy of the License at -+ * -+ * http://www.apache.org/licenses/LICENSE-2.0 -+ * -+ * Unless required by applicable law or agreed to in writing, software -+ * distributed under the License is distributed on an "AS IS" BASIS, -+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ * See the License for the specific language governing permissions and -+ * limitations under the License. -+ */ -+ -+package org.osgi.service.component.annotations; -+ -+import java.lang.annotation.Retention; -+import java.lang.annotation.RetentionPolicy; -+import java.lang.annotation.Target; -+ -+/** -+ * Define a lookup strategy reference for a {@link Component}. -+ * -+ * <p> -+ * The referenced service can be accessed using one of the {@code locateService} -+ * methods of {@code ComponentContext}. -+ * -+ * <p> -+ * This annotation is not processed at runtime by a Service Component Runtime -+ * implementation. It must be processed by tools and used to add a Component -+ * Description to the bundle. -+ * -+ * <p> -+ * In the generated Component Description for a component, the references must -+ * be ordered in ascending lexicographical order (using {@code String.compareTo} -+ * ) of the reference {@link #name() name}s. -+ * -+ * @see "The reference element of a Component Description." -+ * @author $Id: 39a18d2d533af21bee40e41d09b8d5a8405e100b $ -+ * @since 1.3 -+ */ -+@Retention(RetentionPolicy.CLASS) -+@Target({}) -+public @interface LookupReference { -+ /** -+ * The name of this reference. -+ * -+ * @see "The name attribute of the reference element of a Component Description." -+ */ -+ String name(); -+ -+ /** -+ * The type of the service to bind to this reference. -+ * -+ * @see "The interface attribute of the reference element of a Component Description." -+ */ -+ Class<?> service(); -+ -+ /** -+ * The cardinality of the reference. -+ * -+ * <p> -+ * If not specified, the reference has a -+ * {@link ReferenceCardinality#MANDATORY 1..1} cardinality. -+ * -+ * @see "The cardinality attribute of the reference element of a Component Description." -+ */ -+ ReferenceCardinality cardinality() default ReferenceCardinality.MANDATORY; -+ -+ /** -+ * The policy for the reference. -+ * -+ * <p> -+ * If not specified, the {@link ReferencePolicy#STATIC STATIC} reference -+ * policy is used. -+ * -+ * @see "The policy attribute of the reference element of a Component Description." -+ */ -+ ReferencePolicy policy() default ReferencePolicy.STATIC; -+ -+ /** -+ * The target filter for the reference. -+ * -+ * @see "The target attribute of the reference element of a Component Description." -+ */ -+ String target() default ""; -+ -+ /** -+ * The policy option for the reference. -+ * -+ * <p> -+ * If not specified, the {@link ReferencePolicyOption#RELUCTANT RELUCTANT} -+ * reference policy option is used. -+ * -+ * @see "The policy-option attribute of the reference element of a Component Description." -+ */ -+ ReferencePolicyOption policyOption() default ReferencePolicyOption.RELUCTANT; -+ -+ /** -+ * The requested service scope for this Reference. -+ * -+ * <p> -+ * If not specified, the {@link ReferenceScope#BUNDLE bundle} service scope -+ * is requested. -+ * -+ * @see "The scope attribute of the reference element of a Component Description." -+ */ -+ ReferenceScope scope() default ReferenceScope.BUNDLE; -+} -+ ---- a/org/osgi/service/component/annotations/Reference.java -+++ b/org/osgi/service/component/annotations/Reference.java -@@ -42,7 +42,7 @@ - * @author $Id: 9887c51c74905b29393f0b2fe7cf5f9a40eb3d72 $ - */ - @Retention(RetentionPolicy.CLASS) --@Target(ElementType.METHOD) -+@Target({ElementType.METHOD, ElementType.FIELD}) - public @interface Reference { - /** - * The name of this reference. -@@ -97,11 +97,19 @@ - String target() default ""; - - /** -- * The name of the unbind method which is associated with the annotated bind -- * method. -+ * The policy option for this reference. - * - * <p> -- * To declare no unbind method, the value {@code "-"} must be used. -+ * If not specified, the {@link ReferencePolicyOption#RELUCTANT RELUCTANT} -+ * reference policy option is used. -+ * -+ * @see "The policy-option attribute of the reference element of a Component Description." -+ * @since 1.2 -+ */ -+ ReferencePolicyOption policyOption() default ReferencePolicyOption.RELUCTANT; -+ -+ /** -+ * The reference scope for this reference. - * - * <p> - * If not specified, the name of the unbind method is derived from the name -@@ -113,21 +121,39 @@ - * is only set if the component type contains a method with the derived - * name. - * -- * @see "The unbind attribute of the reference element of a Component Description." -+ * @see "The scope attribute of the reference element of a Component Description." -+ * @since 1.3 - */ -- String unbind() default ""; -+ ReferenceScope scope() default ReferenceScope.BUNDLE; -+ -+ /* Method injection elements */ - - /** -- * The policy option for the reference. -+ * The name of the bind method for this reference. - * - * <p> - * If not specified, the {@link ReferencePolicyOption#RELUCTANT RELUCTANT} - * reference policy option is used. - * -- * @see "The policy-option attribute of the reference element of a Component Description." -- * @since 1.2 -+ * <p> -+ * If not specified, the name of the bind method is based upon how this -+ * annotation is used: -+ * <ul> -+ * <li>Annotated method - The name of the annotated method is the name of -+ * the bind method.</li> -+ * <li>Annotated field - There is no bind method name.</li> -+ * <li>{@link Component#reference()} element - There is no bind method name. -+ * </li> -+ * </ul> -+ * -+ * <p> -+ * If there is a bind method name, the component must contain a method with -+ * that name. -+ * -+ * @see "The bind attribute of the reference element of a Component Description." -+ * @since 1.3 - */ -- ReferencePolicyOption policyOption() default ReferencePolicyOption.RELUCTANT; -+ String bind() default ""; - - /** - * The name of the updated method which is associated with the annotated -@@ -149,4 +175,85 @@ - * @since 1.2 - */ - String updated() default ""; -+ -+ /** -+ * The name of the unbind method for this reference. -+ * -+ * <p> -+ * If not specified, the name of the unbind method is based upon how this -+ * annotation is used: -+ * <ul> -+ * <li>Annotated method - The name of the unbind method is created from the -+ * name of the annotated method. If the name of the annotated method begins -+ * with {@code bind}, {@code set} or {@code add}, that prefix is replaced -+ * with {@code unbind}, {@code unset} or {@code remove}, respectively, to -+ * create the name candidate for the unbind method. Otherwise, {@code un} is -+ * prefixed to the name of the annotated method to create the name candidate -+ * for the unbind method. If the component type contains a method with the -+ * candidate name, the candidate name is used as the name of the unbind -+ * method. To declare no unbind method when the component type contains a -+ * method with the candidate name, the value {@code "-"} must be used.</li> -+ * <li>Annotated field - There is no unbind method name.</li> -+ * <li>{@link Component#reference()} element - There is no unbind method -+ * name.</li> -+ * </ul> -+ * -+ * <p> -+ * If there is an unbind method name, the component must contain a method -+ * with that name. -+ * -+ * @see "The unbind attribute of the reference element of a Component Description." -+ */ -+ String unbind() default ""; -+ -+ /* Field injection elements */ -+ -+ /** -+ * The name of the field for this reference. -+ * -+ * <p> -+ * If specified and this reference annotates a field, the specified name -+ * must match the name of the annotated field. -+ * -+ * <p> -+ * If not specified, the name of the field is based upon how this annotation -+ * is used: -+ * <ul> -+ * <li>Annotated method - There is no field name.</li> -+ * <li>Annotated field - The name of the annotated field is the name of the -+ * field.</li> -+ * <li>{@link Component#reference()} element - There is no field name.</li> -+ * </ul> -+ * -+ * <p> -+ * If there is a field name, the component must contain a field with that -+ * name. -+ * -+ * @see "The field attribute of the reference element of a Component Description." -+ * @since 1.3 -+ */ -+ String field() default ""; -+ -+ /** -+ * The field option for this reference. -+ * -+ * <p> -+ * If not specified, the field option is based upon how this annotation is -+ * used: -+ * <ul> -+ * <li>Annotated method - There is no field option.</li> -+ * <li>Annotated field - The field option is based upon the policy and -+ * cardinality of the reference and the modifiers of the field. If the -+ * policy is {@link ReferencePolicy#DYNAMIC}, the cardinality is -+ * {@link ReferenceCardinality#MULTIPLE 0..n} or -+ * {@link ReferenceCardinality#AT_LEAST_ONE 1..n}, and the field is declared -+ * {@code final}, the field option is {@link FieldOption#UPDATE}. Otherwise, -+ * the field option is {@link FieldOption#REPLACE}</li> -+ * <li>{@link Component#reference()} element - There is no field option.</li> -+ * </ul> -+ * -+ * @see "The field-option attribute of the reference element of a Component Description." -+ * @since 1.3 -+ */ -+ FieldOption fieldOption() default FieldOption.REPLACE; - } ---- /dev/null -+++ b/org/osgi/service/component/annotations/ReferenceScope.java -@@ -0,0 +1,57 @@ -+/* -+ * Copyright (c) OSGi Alliance (2013, 2014). All Rights Reserved. -+ * -+ * Licensed under the Apache License, Version 2.0 (the "License"); -+ * you may not use this file except in compliance with the License. -+ * You may obtain a copy of the License at -+ * -+ * http://www.apache.org/licenses/LICENSE-2.0 -+ * -+ * Unless required by applicable law or agreed to in writing, software -+ * distributed under the License is distributed on an "AS IS" BASIS, -+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ * See the License for the specific language governing permissions and -+ * limitations under the License. -+ */ -+ -+package org.osgi.service.component.annotations; -+ -+/** -+ * Reference scope for the {@link Reference} annotation. -+ * -+ * @author $Id: 2a61ef265cfb7a771bd86710e2319a49ae548f3e $ -+ * @since 1.3 -+ */ -+public enum ReferenceScope { -+ /** -+ * A single service object is used for all references to the service in this -+ * bundle. -+ */ -+ BUNDLE("bundle"), -+ -+ /** -+ * If the bound service has prototype service scope, then each instance of -+ * the component with this reference can receive a unique instance of the -+ * service. If the bound service does not have prototype service scope, then -+ * this reference scope behaves the same as {@link #BUNDLE}. -+ */ -+ PROTOTYPE("prototype"), -+ -+ /** -+ * Bound services must have prototype service scope. Each instance of the -+ * component with this reference can receive a unique instance of the -+ * service. -+ */ -+ PROTOTYPE_REQUIRED("prototype_required"); -+ -+ private final String value; -+ -+ ReferenceScope(String value) { -+ this.value = value; -+ } -+ -+ @Override -+ public String toString() { -+ return value; -+ } -+} ---- /dev/null -+++ b/org/osgi/service/component/annotations/ServiceScope.java -@@ -0,0 +1,64 @@ -+/* -+ * Copyright (c) OSGi Alliance (2011, 2014). All Rights Reserved. -+ * -+ * Licensed under the Apache License, Version 2.0 (the "License"); -+ * you may not use this file except in compliance with the License. -+ * You may obtain a copy of the License at -+ * -+ * http://www.apache.org/licenses/LICENSE-2.0 -+ * -+ * Unless required by applicable law or agreed to in writing, software -+ * distributed under the License is distributed on an "AS IS" BASIS, -+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ * See the License for the specific language governing permissions and -+ * limitations under the License. -+ */ -+ -+package org.osgi.service.component.annotations; -+ -+/** -+ * Service scope for the {@link Component} annotation. -+ * -+ * @author $Id: 3c43d5feab4f5f8782acd72b0461feab464db2f8 $ -+ * @since 1.3 -+ */ -+public enum ServiceScope { -+ /** -+ * When the component is registered as a service, it must be registered as a -+ * bundle scope service but only a single instance of the component must be -+ * used for all bundles using the service. -+ */ -+ SINGLETON("singleton"), -+ -+ /** -+ * When the component is registered as a service, it must be registered as a -+ * bundle scope service and an instance of the component must be created for -+ * each bundle using the service. -+ */ -+ BUNDLE("bundle"), -+ -+ /** -+ * When the component is registered as a service, it must be registered as a -+ * prototype scope service and an instance of the component must be created -+ * for each distinct request for the service. -+ */ -+ PROTOTYPE("prototype"), -+ -+ /** -+ * Default element value for annotation. This is used to distinguish the -+ * default value for an element and should not otherwise be used. -+ */ -+ DEFAULT("<<default>>"); -+ -+ private final String value; -+ -+ ServiceScope(String value) { -+ this.value = value; -+ } -+ -+ @Override -+ public String toString() { -+ return value; -+ } -+} -+ ---- /dev/null -+++ b/org/osgi/service/metatype/annotations/AttributeDefinition.java -@@ -0,0 +1,217 @@ -+/* -+ * Copyright (c) OSGi Alliance (2013, 2014). All Rights Reserved. -+ * -+ * Licensed under the Apache License, Version 2.0 (the "License"); -+ * you may not use this file except in compliance with the License. -+ * You may obtain a copy of the License at -+ * -+ * http://www.apache.org/licenses/LICENSE-2.0 -+ * -+ * Unless required by applicable law or agreed to in writing, software -+ * distributed under the License is distributed on an "AS IS" BASIS, -+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ * See the License for the specific language governing permissions and -+ * limitations under the License. -+ */ -+ -+package org.osgi.service.metatype.annotations; -+ -+import java.lang.annotation.ElementType; -+import java.lang.annotation.Retention; -+import java.lang.annotation.RetentionPolicy; -+import java.lang.annotation.Target; -+ -+/** -+ * {@code AttributeDefinition} information for the annotated method. -+ * -+ * <p> -+ * Each method of a type annotated by {@link ObjectClassDefinition} has an -+ * implied AttributeDefinition annotation. This annotation is only used to -+ * specify non-default AttributeDefinition information. -+ * -+ * <p> -+ * The {@code id} of this AttributeDefinition is generated from the name of the -+ * annotated method. The annotated method name is processed from left to right -+ * changing each character as follows: -+ * <ul> -+ * <li>A dollar sign ({@code '$'} \u0024) is removed unless it is followed -+ * by another dollar sign in which case the two consecutive dollar signs ( -+ * {@code '$$'}) are changed to a single dollar sign.</li> -+ * <li>A low line ({@code '_'} \u005F) is changed to a full stop ( -+ * {@code '.'} \u002E) unless is it followed by another low line in which -+ * case the two consecutive low lines ({@code '__'}) are changed to a single low -+ * line.</li> -+ * <li>All other characters are unchanged.</li> -+ * </ul> -+ * This id is the value of the id attribute of the generate AD element and is -+ * used as the name of the corresponding configuration property. -+ * -+ * <p> -+ * This annotation is not processed at runtime. It must be processed by tools -+ * and used to contribute to a Meta Type Resource document for the bundle. -+ * -+ * @see "The AD element of a Meta Type Resource." -+ * @author $Id: 366d21759b5562656dc97a391f61181970d71ec7 $ -+ */ -+@Retention(RetentionPolicy.CLASS) -+@Target(ElementType.METHOD) -+public @interface AttributeDefinition { -+ /** -+ * The human readable name of this AttributeDefinition. -+ * -+ * <p> -+ * If not specified, the name of this AttributeDefinition is derived from -+ * the name of the annotated method. For example, low line ({@code '_'} -+ * \u005F) and dollar sign ({@code '$'} \u0024) are replaced with -+ * space ({@code ' '} \u0020) and space is inserted between camel case -+ * words. -+ * -+ * <p> -+ * If the name begins with the percent sign ({@code '%'} \u0025), the -+ * name can be {@link ObjectClassDefinition#localization() localized}. -+ * -+ * @see "The name attribute of the AD element of a Meta Type Resource." -+ */ -+ String name() default ""; -+ -+ /** -+ * The human readable description of this AttributeDefinition. -+ * -+ * <p> -+ * If not specified, the description of this AttributeDefinition is the -+ * empty string. -+ * -+ * <p> -+ * If the description begins with the percent sign ({@code '%'} \u0025), -+ * the description can be {@link ObjectClassDefinition#localization() -+ * localized}. -+ * -+ * @see "The description attribute of the AD element of a Meta Type Resource." -+ */ -+ String description() default ""; -+ -+ /** -+ * The type of this AttributeDefinition. -+ * -+ * <p> -+ * This must be one of the defined {@link AttributeType attributes types}. -+ * -+ * <p> -+ * If not specified, the type is derived from the return type of the -+ * annotated method. Return types of {@code Class} and {@code Enum} are -+ * mapped to {@link AttributeType#STRING STRING}. If the return type is -+ * {@code List}, {@code Set}, {@code Collection}, {@code Iterable} or some -+ * type which can be determined at annotation processing time to -+ * <ol> -+ * <li>be a subtype of {@code Collection} and</li> -+ * <li>have a public no argument constructor,</li> -+ * </ol> -+ * then the type is derived from the generic type. For example, a return -+ * type of {@code List<String>} will be mapped to -+ * {@link AttributeType#STRING STRING}. A return type of a single -+ * dimensional array is supported and the type is the component type of the -+ * array. Multi dimensional arrays are not supported. Annotation return -+ * types are not supported. Any unrecognized type is mapped to -+ * {@link AttributeType#STRING STRING}. A tool processing the annotation -+ * should declare an error for unsupported return types. -+ * -+ * @see "The type attribute of the AD element of a Meta Type Resource." -+ */ -+ AttributeType type() default AttributeType.STRING; -+ -+ /** -+ * The cardinality of this AttributeDefinition. -+ * -+ * <p> -+ * If not specified, the cardinality is derived from the return type of the -+ * annotated method. For an array return type, the cardinality is a large -+ * positive value. If the return type is {@code List}, {@code Set}, -+ * {@code Collection}, {@code Iterable} or some type which can be determined -+ * at annotation processing time to -+ * <ol> -+ * <li>be a subtype of {@code Collection} and</li> -+ * <li>have a public no argument constructor,</li> -+ * </ol> -+ * the cardinality is a large negative value. Otherwise, the cardinality is -+ * 0. -+ * -+ * @see "The cardinality attribute of the AD element of a Meta Type Resource." -+ */ -+ int cardinality() default 0; -+ -+ /** -+ * The minimum value for this AttributeDefinition. -+ * -+ * <p> -+ * If not specified, there is no minimum value. -+ * -+ * @see "The min attribute of the AD element of a Meta Type Resource." -+ */ -+ String min() default ""; -+ -+ /** -+ * The maximum value for this AttributeDefinition. -+ * -+ * <p> -+ * If not specified, there is no maximum value. -+ * -+ * @see "The max attribute of the AD element of a Meta Type Resource." -+ */ -+ String max() default ""; -+ -+ /** -+ * The default value for this AttributeDefinition. -+ * -+ * <p> -+ * The specified values are concatenated into a comma delimited list to -+ * become the value of the {@code default} attribute of the generated -+ * {@code AD} element. -+ * -+ * <p> -+ * If not specified and the annotated method is an annotation element that -+ * has a {@code default} value, then the value of this element is the -+ * {@code default} value of the annotated element. Otherwise, there is no -+ * default value. -+ * -+ * @see "The default attribute of the AD element of a Meta Type Resource." -+ */ -+ String[] defaultValue() default {}; -+ -+ /** -+ * The required value for this AttributeDefinition. -+ * -+ * <p> -+ * If not specified, the value is {@code true}. -+ * -+ * @see "The required attribute of the AD element of a Meta Type Resource." -+ */ -+ boolean required() default true; -+ -+ /** -+ * The option information for this AttributeDefinition. -+ * -+ * <p> -+ * For each specified {@link Option}, an {@code Option} element is generated -+ * for this AttributeDefinition. -+ * -+ * <p> -+ * If not specified, the option information is derived from the return type -+ * of the annotated method. If the return type is an {@code enum}, a single -+ * dimensional array of an {@code enum}, or a {@code List}, {@code Set}, -+ * {@code Collection}, {@code Iterable} or some type which can be determined -+ * at annotation processing time to -+ * <ol> -+ * <li>be a subtype of {@code Collection} and</li> -+ * <li>have a public no argument constructor,</li> -+ * </ol> -+ * with a generic type of an {@code enum}, then the value of this element -+ * has an {@link Option} for each value of the {@code enum}. The label and -+ * value of each {@link Option} are set to the name of the corresponding -+ * {@code enum} value. Otherwise, no {@code Option} elements will be -+ * generated. -+ * -+ * @see "The Option element of a Meta Type Resource." -+ */ -+ Option[] options() default {}; -+} -+ ---- /dev/null -+++ b/org/osgi/service/metatype/annotations/AttributeType.java -@@ -0,0 +1,142 @@ -+/* -+ * Copyright (c) OSGi Alliance (2013). 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.metatype.annotations; -+ -+/** -+ * Attribute types for the {@link AttributeDefinition} annotation. -+ * -+ * @see AttributeDefinition#type() -+ * @author $Id: 9ab62c08937c0f76ba6465cb95e4cd5cf6ca8e8f $ -+ */ -+public enum AttributeType { -+ /** -+ * The {@code String} type. -+ * -+ * <p> -+ * Attributes of this type should be stored as {@code String}, -+ * {@code List<String>} or {@code String[]} objects, depending on the -+ * {@link AttributeDefinition#cardinality() cardinality} value. -+ */ -+ STRING("String"), -+ -+ /** -+ * The {@code Long} type. -+ * -+ * <p> -+ * Attributes of this type should be stored as {@code Long}, -+ * {@code List<Long>} or {@code long[]} objects, depending on the -+ * {@code AttributeDefinition#cardinality() cardinality} value. -+ */ -+ LONG("Long"), -+ -+ /** -+ * The {@code Integer} type. -+ * -+ * <p> -+ * Attributes of this type should be stored as {@code Integer}, -+ * {@code List<Integer>} or {@code int[]} objects, depending on the -+ * {@code AttributeDefinition#cardinality() cardinality} value. -+ */ -+ INTEGER("Integer"), -+ -+ /** -+ * The {@code Short} type. -+ * -+ * <p> -+ * Attributes of this type should be stored as {@code Short}, -+ * {@code List<Short>} or {@code short[]} objects, depending on the -+ * {@code AttributeDefinition#cardinality() cardinality} value. -+ */ -+ SHORT("Short"), -+ -+ /** -+ * The {@code Character} type. -+ * -+ * <p> -+ * Attributes of this type should be stored as {@code Character}, -+ * {@code List<Character>} or {@code char[]} objects, depending on the -+ * {@code AttributeDefinition#cardinality() cardinality} value. -+ */ -+ CHARACTER("Character"), -+ -+ /** -+ * The {@code Byte} type. -+ * -+ * <p> -+ * Attributes of this type should be stored as {@code Byte}, -+ * {@code List<Byte>} or {@code byte[]} objects, depending on the -+ * {@code AttributeDefinition#cardinality() cardinality} value. -+ */ -+ BYTE("Byte"), -+ -+ /** -+ * The {@code Double} type. -+ * -+ * <p> -+ * Attributes of this type should be stored as {@code Double}, -+ * {@code List<Double>} or {@code double[]} objects, depending on the -+ * {@code AttributeDefinition#cardinality() cardinality} value. -+ */ -+ DOUBLE("Double"), -+ -+ /** -+ * The {@code Float} type. -+ * -+ * <p> -+ * Attributes of this type should be stored as {@code Float}, -+ * {@code List<Float>} or {@code float[]} objects, depending on the -+ * {@code AttributeDefinition#cardinality() cardinality} value. -+ */ -+ FLOAT("Float"), -+ -+ /** -+ * The {@code Boolean} type. -+ * -+ * <p> -+ * Attributes of this type should be stored as {@code Boolean}, -+ * {@code List<Boolean>} or {@code boolean[]} objects depending on -+ * {@code AttributeDefinition#cardinality() cardinality}. -+ */ -+ BOOLEAN("Boolean"), -+ -+ /** -+ * The {@code Password} type. -+ * -+ * <p> -+ * Attributes of this type must be stored as {@code String}, -+ * {@code List<String>} or {@code String[]} objects depending on -+ * {@link AttributeDefinition#cardinality() cardinality}. -+ * -+ * <p> -+ * A {@code Password} must be treated as a {@code String} but the type can -+ * be used to disguise the information when displayed to a user to prevent -+ * it from being seen. -+ */ -+ PASSWORD("Password"); -+ -+ private final String value; -+ -+ AttributeType(String value) { -+ this.value = value; -+ } -+ -+ @Override -+ public String toString() { -+ return value; -+ } -+} -+ ---- /dev/null -+++ b/org/osgi/service/metatype/annotations/Designate.java -@@ -0,0 +1,69 @@ -+/* -+ * Copyright (c) OSGi Alliance (2014). All Rights Reserved. -+ * -+ * Licensed under the Apache License, Version 2.0 (the "License"); -+ * you may not use this file except in compliance with the License. -+ * You may obtain a copy of the License at -+ * -+ * http://www.apache.org/licenses/LICENSE-2.0 -+ * -+ * Unless required by applicable law or agreed to in writing, software -+ * distributed under the License is distributed on an "AS IS" BASIS, -+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ * See the License for the specific language governing permissions and -+ * limitations under the License. -+ */ -+ -+package org.osgi.service.metatype.annotations; -+ -+import java.lang.annotation.ElementType; -+import java.lang.annotation.Retention; -+import java.lang.annotation.RetentionPolicy; -+import java.lang.annotation.Target; -+ -+/** -+ * Generate a {@code Designate} element in the Meta Type Resource for an -+ * {@link ObjectClassDefinition} using the annotated Declarative Services -+ * component. -+ * -+ * <p> -+ * This annotation must be used on a type that is also annotated with the -+ * Declarative Services {@link org.osgi.service.component.annotations.Component -+ * Component} annotation. The component must only have a single PID which is -+ * used for the generated {@code Designate} element. -+ * -+ * <p> -+ * This annotation is not processed at runtime. It must be processed by tools -+ * and used to contribute to a Meta Type Resource document for the bundle. -+ * -+ * @see "The Designate element of a Meta Type Resource." -+ * @author $Id: 99cf054e1e37e4114494d492910fc2a2dc57ab0a $ -+ */ -+@Retention(RetentionPolicy.CLASS) -+@Target(ElementType.TYPE) -+public @interface Designate { -+ /** -+ * The type of the {@link ObjectClassDefinition} for this Designate. -+ * -+ * <p> -+ * The specified type must be annotated with {@link ObjectClassDefinition}. -+ * -+ * @see "The ocdref attribute of the Designate element of a Meta Type Resource." -+ */ -+ Class<?> ocd(); -+ -+ /** -+ * Specifies whether this Designate is for a factory PID. -+ * -+ * <p> -+ * If {@code false}, then the PID value from the annotated component will be -+ * used in the {@code pid} attribute of the generated {@code Designate} -+ * element. If {@code true}, then the PID value from the annotated component -+ * will be used in the {@code factoryPid} attribute of the generated -+ * {@code Designate} element. -+ * -+ * @see "The pid and factoryPid attributes of the Designate element of a Meta Type Resource." -+ */ -+ boolean factory() default false; -+} -+ ---- /dev/null -+++ b/org/osgi/service/metatype/annotations/Icon.java -@@ -0,0 +1,59 @@ -+/* -+ * Copyright (c) OSGi Alliance (2013). 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.metatype.annotations; -+ -+import java.lang.annotation.Retention; -+import java.lang.annotation.RetentionPolicy; -+import java.lang.annotation.Target; -+ -+/** -+ * {@code Icon} information for an {@link ObjectClassDefinition}. -+ * -+ * @see ObjectClassDefinition#icon() -+ * @author $Id: e9e89ed20e3fc24a1f1e74324fe2b717ebecad45 $ -+ */ -+@Retention(RetentionPolicy.CLASS) -+@Target({}) -+public @interface Icon { -+ -+ /** -+ * The resource name for this Icon. -+ * -+ * <p> -+ * The resource is a URL. The resource URL can be relative to the root of -+ * the bundle containing the Meta Type Resource. -+ * -+ * <p> -+ * If the resource begins with the percent sign ({@code '%'} \u0025), -+ * the resource can be {@link ObjectClassDefinition#localization() -+ * localized}. -+ * -+ * @see "The resource attribute of the Icon element of a Meta Type Resource." -+ */ -+ String resource(); -+ -+ /** -+ * The pixel size of this Icon. -+ * -+ * <p> -+ * For example, 32 represents a 32x32 icon. -+ * -+ * @see "The size attribute of the Icon element of a Meta Type Resource." -+ */ -+ int size(); -+} -+ ---- /dev/null -+++ b/org/osgi/service/metatype/annotations/ObjectClassDefinition.java -@@ -0,0 +1,156 @@ -+/* -+ * Copyright (c) OSGi Alliance (2013, 2014). All Rights Reserved. -+ * -+ * Licensed under the Apache License, Version 2.0 (the "License"); -+ * you may not use this file except in compliance with the License. -+ * You may obtain a copy of the License at -+ * -+ * http://www.apache.org/licenses/LICENSE-2.0 -+ * -+ * Unless required by applicable law or agreed to in writing, software -+ * distributed under the License is distributed on an "AS IS" BASIS, -+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ * See the License for the specific language governing permissions and -+ * limitations under the License. -+ */ -+ -+package org.osgi.service.metatype.annotations; -+ -+import java.lang.annotation.ElementType; -+import java.lang.annotation.Retention; -+import java.lang.annotation.RetentionPolicy; -+import java.lang.annotation.Target; -+ -+/** -+ * Generate a Meta Type Resource using the annotated type. -+ * -+ * <p> -+ * This annotation can be used without defining any element values since -+ * defaults can be generated from the annotated type. Each method of the -+ * annotated type has an implied {@link AttributeDefinition} annotation if not -+ * explicitly annotated. -+ * -+ * <p> -+ * This annotation may only be used on annotation types and interface types. Use -+ * on concrete or abstract class types is unsupported. If applied to an -+ * interface then all methods inherited from super types are included as -+ * attributes. -+ * -+ * <p> -+ * This annotation is not processed at runtime. It must be processed by tools -+ * and used to generate a Meta Type Resource document for the bundle. -+ * -+ * @see "The OCD element of a Meta Type Resource." -+ * @author $Id: fa6a22c95ba6d3a19845177e3b8375c4064ded9a $ -+ */ -+@Retention(RetentionPolicy.CLASS) -+@Target(ElementType.TYPE) -+public @interface ObjectClassDefinition { -+ /** -+ * The id of this ObjectClassDefinition. -+ * -+ * <p> -+ * If not specified, the id of this ObjectClassDefinition is the fully -+ * qualified name of the annotated type using the dollar sign ({@code '$'} -+ * \u0024) to separate nested class names from the name of their -+ * enclosing class. The id is not to be confused with a PID which can be -+ * specified by the {@link #pid()} or {@link #factoryPid()} element. -+ * -+ * @see "The id attribute of the OCD element of a Meta Type Resource." -+ */ -+ String id() default ""; -+ -+ /** -+ * The human readable name of this ObjectClassDefinition. -+ * -+ * <p> -+ * If not specified, the name of this ObjectClassDefinition is derived from -+ * the {@link #id()}. For example, low line ({@code '_'} \u005F) and -+ * dollar sign ({@code '$'} \u0024) are replaced with space ({@code ' '} -+ * \u0020) and space is inserted between camel case words. -+ * -+ * <p> -+ * If the name begins with the percent sign ({@code '%'} \u0025), the -+ * name can be {@link #localization() localized}. -+ * -+ * @see "The name attribute of the OCD element of a Meta Type Resource." -+ */ -+ String name() default ""; -+ -+ /** -+ * The human readable description of this ObjectClassDefinition. -+ * -+ * <p> -+ * If not specified, the description of this ObjectClassDefinition is the -+ * empty string. -+ * -+ * <p> -+ * If the description begins with the percent sign ({@code '%'} \u0025), -+ * the description can be {@link #localization() localized}. -+ * -+ * @see "The description attribute of the OCD element of a Meta Type Resource." -+ */ -+ String description() default ""; -+ -+ /** -+ * The localization resource of this ObjectClassDefinition. -+ * -+ * <p> -+ * This refers to a resource property entry in the bundle that can be -+ * augmented with locale information. If not specified, the localization -+ * resource for this ObjectClassDefinition is the string -+ * "OSGI-INF/l10n/" followed by the {@link #id()}. -+ * -+ * @see "The localization attribute of the MetaData element of a Meta Type Resource." -+ */ -+ String localization() default ""; -+ -+ /** -+ * The PIDs associated with this ObjectClassDefinition. -+ * -+ * <p> -+ * For each specified PID, a {@code Designate} element with a pid attribute -+ * is generated that {@link #id() references} this ObjectClassDefinition. -+ * -+ * <p> -+ * The {@link Designate} annotation can also be used to associate a -+ * Declarative Services component with an ObjectClassDefinition and generate -+ * a {@code Designate} element. -+ * -+ * @see "The pid attribute of the Designate element of a Meta Type Resource." -+ * @see Designate -+ */ -+ String[] pid() default {}; -+ -+ /** -+ * The factory PIDs associated with this ObjectClassDefinition. -+ * -+ * <p> -+ * For each specified factory PID, a {@code Designate} element with a -+ * factoryPid attribute is generated that {@link #id() references} this -+ * ObjectClassDefinition. -+ * -+ * <p> -+ * The {@link Designate} annotation can also be used to associate a -+ * Declarative Services component with an ObjectClassDefinition and generate -+ * a {@code Designate} element. -+ * -+ * -+ * @see "The factoryPid attribute of the Designate element of a Meta Type Resource." -+ * @see Designate -+ */ -+ String[] factoryPid() default {}; -+ -+ /** -+ * The icon resources associated with this ObjectClassDefinition. -+ * -+ * <p> -+ * For each specified {@link Icon}, an {@code Icon} element is generated for -+ * this ObjectClassDefinition. If not specified, no {@code Icon} elements -+ * will be generated. -+ * -+ * @see "The Icon element of a Meta Type Resource." -+ */ -+ Icon[] icon() default {}; -+} -+ ---- /dev/null -+++ b/org/osgi/service/metatype/annotations/Option.java -@@ -0,0 +1,54 @@ -+/* -+ * Copyright (c) OSGi Alliance (2013). 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.metatype.annotations; -+ -+import java.lang.annotation.Retention; -+import java.lang.annotation.RetentionPolicy; -+import java.lang.annotation.Target; -+ -+/** -+ * {@code Option} information for an {@link AttributeDefinition}. -+ * -+ * @see AttributeDefinition#options() -+ * @author $Id: 62ba7da6da943cb1b3d124a36c9861277c93a740 $ -+ */ -+@Retention(RetentionPolicy.CLASS) -+@Target({}) -+public @interface Option { -+ -+ /** -+ * The human readable label of this Option. -+ * -+ * <p> -+ * If not specified, the label of this Option is the empty string. -+ * -+ * <p> -+ * If the label begins with the percent sign ({@code '%'} \u0025), the -+ * label can be {@link ObjectClassDefinition#localization() localized}. -+ * -+ * @see "The label attribute of the Option element of a Meta Type Resource." -+ */ -+ String label() default ""; -+ -+ /** -+ * The value of this Option. -+ * -+ * @see "The value attribute of the Option element of a Meta Type Resource." -+ */ -+ String value(); -+} -+ diff --git a/debian/patches/series b/debian/patches/series deleted file mode 100644 index 973bb18..0000000 --- a/debian/patches/series +++ /dev/null @@ -1 +0,0 @@ -01-osgi6-features.patch -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/osgi-compendium.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

