[jboss-osgi-commits] JBoss-OSGI SVN: r91345 - in projects/jboss-osgi/trunk: reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/container and 6 other directories.
jboss-osgi-commits at lists.jboss.org
jboss-osgi-commits at lists.jboss.org
Thu Jul 16 10:16:12 EDT 2009
Author: thomas.diesler at jboss.com
Date: 2009-07-16 10:16:10 -0400 (Thu, 16 Jul 2009)
New Revision: 91345
Added:
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TAutoExportModes.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TNull.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TProp.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TProps.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TValue.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/ReifiedType.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListMetadata.java
Removed:
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TAutoExportModes.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TComparator.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tcollection.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tkey.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tmap.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TmapEntry.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tnull.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tprop.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tprops.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TtypedCollection.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tvalue.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/RefListMetadata.java
Modified:
projects/jboss-osgi/trunk/eclipse/eclipse.code.style.xml
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/container/AbstractManager.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/container/BlueprintContainerImpl.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/GTargetComponent.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/GValue.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TArgument.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TAvailability.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TBean.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TBlueprint.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TComponent.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TInterfaces.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TProperty.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TRef.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TReference.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TReferenceList.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TReferenceListener.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TRegistrationListener.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TService.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TServiceProperties.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TServicePropertyEntry.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TServiceReference.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TServiceUse.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TTypeConverters.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/reflect/BlueprintMetadata.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/reflect/ComponentMetadataImpl.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/reflect/ReferenceMetadataImpl.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/reflect/ServiceMetadataImpl.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/BlueprintContainer.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/BlueprintEvent.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/BlueprintListener.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/ComponentDefinitionException.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/Converter.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/EventConstants.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/NoSuchComponentException.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/ServiceUnavailableException.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/package.html
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/packageinfo
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/BeanArgument.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/BeanMetadata.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/BeanProperty.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/CollectionMetadata.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ComponentMetadata.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/IdRefMetadata.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/MapEntry.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/MapMetadata.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/Metadata.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/NonNullMetadata.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/NullMetadata.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/PropsMetadata.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/RefMetadata.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListener.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ReferenceMetadata.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/RegistrationListener.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ServiceMetadata.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ServiceReferenceMetadata.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/Target.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ValueMetadata.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/package.html
projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/packageinfo
projects/jboss-osgi/trunk/reactor/bundles/blueprint/testsuite/src/test/java/org/jboss/test/osgi/blueprint/container/BlueprintContainerTestCase.java
projects/jboss-osgi/trunk/reactor/bundles/blueprint/testsuite/src/test/resources/parser/blueprint-all-elements.xml
Log:
Update to latest BP API. Cleanup parser model.
Modified: projects/jboss-osgi/trunk/eclipse/eclipse.code.style.xml
===================================================================
--- projects/jboss-osgi/trunk/eclipse/eclipse.code.style.xml 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/eclipse/eclipse.code.style.xml 2009-07-16 14:16:10 UTC (rev 91345)
@@ -51,6 +51,7 @@
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
@@ -185,7 +186,7 @@
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="168"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_import_groups" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
@@ -201,6 +202,7 @@
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.join_lines_in_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/container/AbstractManager.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/container/AbstractManager.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/container/AbstractManager.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -76,9 +76,9 @@
return component;
}
- public int getInitialization()
+ public int getActivation()
{
- return component.getInitialization();
+ return component.getActivation();
}
public void install()
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/container/BlueprintContainerImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/container/BlueprintContainerImpl.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/container/BlueprintContainerImpl.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -23,8 +23,6 @@
//$Id: BlueprintContextImpl.java 90313 2009-06-17 10:37:51Z thomas.diesler at jboss.com $
-import static org.osgi.service.blueprint.reflect.ComponentMetadata.INITIALIZATION_EAGER;
-
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -127,11 +125,6 @@
return bundle.getBundleContext();
}
- public int getCompliance()
- {
- return COMPLIANCE_STRICT;
- }
-
public Set<String> getComponentIds()
{
return Collections.unmodifiableSet(managers.keySet());
@@ -209,7 +202,7 @@
// Activated the eager managers
for (AbstractManager manager : managers.values())
{
- if (manager.getInitialization() == INITIALIZATION_EAGER)
+ if (manager.getActivation() == ComponentMetadata.ACTIVATION_EAGER)
manager.activate();
}
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/GTargetComponent.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/GTargetComponent.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/GTargetComponent.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -26,23 +26,44 @@
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import org.jboss.osgi.blueprint.BlueprintContext;
-import org.jboss.xb.annotations.JBossXmlConstants;
-import org.jboss.xb.annotations.JBossXmlModelGroup;
/**
+ * A target component is one that can be a target for a
+ * listener, registration-listener or service elements.
+ * This is used in contexts where the requirement is a single
+ * provided object that will implement a particular interface.
+ * The provided object is obtained either from a <ref> element
+ * or an inlined <bean> or <reference>.
+ *
+ * <xsd:group name="GtargetComponent">
+ * <xsd:choice>
+ * <xsd:element name="bean" type="Tinlined-bean" />
+ * <xsd:element name="reference" type="Tinlined-reference" />
+ * <xsd:element name="ref" type="Tref" />
+ * <xsd:any namespace="##other" processContents="strict" />
+ * </xsd:choice>
+ * </xsd:group>
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
*/
- at XmlType(name = "GtargetComponent", namespace = BlueprintContext.XMLNS_BLUEPRINT)
- at JBossXmlModelGroup(kind = JBossXmlConstants.MODEL_GROUP_CHOICE)
-public class GTargetComponent
+
+// [JBXB-218] Requires property order even when maked as choice
+// https://jira.jboss.org/jira/browse/JBXB-218
+//@XmlType(name = "GtargetComponent", namespace = BlueprintContext.XMLNS_BLUEPRINT)
+//@JBossXmlModelGroup(kind = JBossXmlConstants.MODEL_GROUP_CHOICE)
+
+ at XmlType(name = "GtargetComponent", namespace = BlueprintContext.XMLNS_BLUEPRINT, propOrder = { "bean", "reference", "refElement" })
+public class GTargetComponent extends TComponent
{
protected TBean bean;
protected TReference reference;
+ protected TRef refElement;
protected List<Object> any;
- protected String ref;
public TBean getBean()
{
@@ -64,23 +85,22 @@
this.reference = value;
}
- public List<Object> getAny()
+ @XmlElement(name = "ref")
+ public TRef getRefElement()
{
- if (any == null)
- {
- any = new ArrayList<Object>();
- }
- return this.any;
+ return refElement;
}
- @XmlAttribute
- public String getRef()
+ public void setRefElement(TRef value)
{
- return ref;
+ this.refElement = value;
}
- public void setRef(String value)
+ public List<Object> getAny()
{
- this.ref = value;
+ if (any == null)
+ any = new ArrayList<Object>();
+
+ return this.any;
}
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/GValue.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/GValue.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/GValue.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -23,419 +23,91 @@
// $Id$
-import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlType;
import org.jboss.osgi.blueprint.BlueprintContext;
/**
+ * The set of "value" types that can be used in any place a value
+ * can be specified. This set includes the <ref> and <idref> elements, any of the
+ * component types (<bean>, <service>, etc.) as inline components, the
+ * generic <value> element for types sourced from string values, any of the
+ * collection types (<set>, <list>, <array>, <map>, <props>), and the
+ * <null> type to inject a null value.
+ *
+ * <xsd:group name="Gvalue">
+ * <xsd:choice>
+ * <xsd:group ref="GnonNullValue" />
+ * <xsd:element name="null" type="Tnull" />
+ * </xsd:choice>
+ * </xsd:group>
+ *
+ * <xsd:group name="GnonNullValue">
+ * <xsd:choice>
+ * <xsd:group ref="GallComponents" />
+ * <xsd:element name="idref" type="Tref" />
+ * <xsd:element name="value" type="Tvalue" />
+ * <xsd:element name="list" type="Tcollection" />
+ * <xsd:element name="set" type="Tcollection" />
+ * <xsd:element name="map" type="Tmap" />
+ * <xsd:element name="array" type="Tcollection" />
+ * <xsd:element name="props" type="Tprops" />
+ * </xsd:choice>
+ * </xsd:group>
+ *
+ * <xsd:group name="GallComponents">
+ * <xsd:choice>
+ * <xsd:element name="service" type="Tinlined-service" />
+ * <xsd:element name="reference-list" type="Tinlined-reference-list" />
+ * <xsd:group ref="GtargetComponent" />
+ * </xsd:choice>
+ * </xsd:group>
+ *
+ * <xsd:group name="GtargetComponent">
+ * <xsd:choice>
+ * <xsd:element name="bean" type="Tinlined-bean" />
+ * <xsd:element name="reference" type="Tinlined-reference" />
+ * <xsd:element name="ref" type="Tref" />
+ * <xsd:any namespace="##other" processContents="strict" />
+ * </xsd:choice>
+ * </xsd:group>
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
*/
- at XmlType(name = "Tproperty", namespace = BlueprintContext.XMLNS_BLUEPRINT, propOrder = { "description" })
+ at XmlType(name = "Gvalue", namespace = BlueprintContext.XMLNS_BLUEPRINT)
public class GValue
{
- protected String description;
- protected TService service;
- protected TReferenceList refList;
- protected TReferenceList refSet;
- protected TBean bean;
- protected TReference reference;
- protected TRef refFIXME;
- protected List<Object> any;
- protected TRef idref;
- protected Tvalue value;
- protected Tcollection list;
- protected Tcollection set;
- protected Tmap map;
- protected Tcollection array;
- protected Tprops props;
- protected Tnull _null;
- protected String name;
- protected String ref;
- protected String valueFIXME;
+ protected Object valueElement;
- public String getDescription()
+ @XmlElements( {
+ @XmlElement(name = "service", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = TService.class),
+ @XmlElement(name = "reference-list", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = TReferenceList.class),
+ @XmlElement(name = "bean", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = TBean.class),
+ @XmlElement(name = "reference", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = TReference.class),
+ @XmlElement(name = "ref", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = TRef.class),
+ @XmlElement(name = "idref", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = String.class),
+ @XmlElement(name = "value", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = TValue.class),
+ @XmlElement(name = "list", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = List.class),
+ @XmlElement(name = "set", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = Set.class),
+ @XmlElement(name = "map", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = Map.class),
+ @XmlElement(name = "array", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = List.class),
+ @XmlElement(name = "props", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = TProps.class),
+ @XmlElement(name = "null", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = List.class)
+ })
+ public Object getValueElement()
{
- return description;
+ return valueElement;
}
- public void setDescription(String value)
+ public void setValueElement(Object valueElement)
{
- this.description = value;
+ this.valueElement = valueElement;
}
-
- public TService getService()
- {
- return service;
- }
-
- public void setService(TService value)
- {
- this.service = value;
- }
-
- public TReferenceList getRefList()
- {
- return refList;
- }
-
- public void setRefList(TReferenceList value)
- {
- this.refList = value;
- }
-
- public TReferenceList getRefSet()
- {
- return refSet;
- }
-
- /**
- * Sets the value of the refSet property.
- *
- * @param value allowed object is {@link TReferenceList }
- *
- */
- public void setRefSet(TReferenceList value)
- {
- this.refSet = value;
- }
-
- /**
- * Gets the value of the bean property.
- *
- * @return possible object is {@link TBean }
- *
- */
- public TBean getBean()
- {
- return bean;
- }
-
- /**
- * Sets the value of the bean property.
- *
- * @param value allowed object is {@link TBean }
- *
- */
- public void setBean(TBean value)
- {
- this.bean = value;
- }
-
- /**
- * Gets the value of the reference property.
- *
- * @return possible object is {@link TReference }
- *
- */
- public TReference getReference()
- {
- return reference;
- }
-
- /**
- * Sets the value of the reference property.
- *
- * @param value allowed object is {@link TReference }
- *
- */
- public void setReference(TReference value)
- {
- this.reference = value;
- }
-
- /**
- * Gets the value of the refFIXME property.
- *
- * @return possible object is {@link TRef }
- *
- */
- public TRef getRefFIXME()
- {
- return refFIXME;
- }
-
- /**
- * Sets the value of the refFIXME property.
- *
- * @param value allowed object is {@link TRef }
- *
- */
- public void setRefFIXME(TRef value)
- {
- this.refFIXME = value;
- }
-
- /**
- * Gets the value of the any property.
- *
- * <p>
- * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the
- * JAXB object. This is why there is not a <CODE>set</CODE> method for the any property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- *
- * <pre>
- * getAny().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list {@link Object }
- *
- *
- */
- public List<Object> getAny()
- {
- if (any == null)
- {
- any = new ArrayList<Object>();
- }
- return this.any;
- }
-
- /**
- * Gets the value of the idref property.
- *
- * @return possible object is {@link TRef }
- *
- */
- public TRef getIdref()
- {
- return idref;
- }
-
- /**
- * Sets the value of the idref property.
- *
- * @param value allowed object is {@link TRef }
- *
- */
- public void setIdref(TRef value)
- {
- this.idref = value;
- }
-
- /**
- * Gets the value of the value property.
- *
- * @return possible object is {@link Tvalue }
- *
- */
- public Tvalue getValue()
- {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value allowed object is {@link Tvalue }
- *
- */
- public void setValue(Tvalue value)
- {
- this.value = value;
- }
-
- /**
- * Gets the value of the list property.
- *
- * @return possible object is {@link Tcollection }
- *
- */
- public Tcollection getList()
- {
- return list;
- }
-
- /**
- * Sets the value of the list property.
- *
- * @param value allowed object is {@link Tcollection }
- *
- */
- public void setList(Tcollection value)
- {
- this.list = value;
- }
-
- /**
- * Gets the value of the set property.
- *
- * @return possible object is {@link Tcollection }
- *
- */
- public Tcollection getSet()
- {
- return set;
- }
-
- /**
- * Sets the value of the set property.
- *
- * @param value allowed object is {@link Tcollection }
- *
- */
- public void setSet(Tcollection value)
- {
- this.set = value;
- }
-
- /**
- * Gets the value of the map property.
- *
- * @return possible object is {@link Tmap }
- *
- */
- public Tmap getMap()
- {
- return map;
- }
-
- /**
- * Sets the value of the map property.
- *
- * @param value allowed object is {@link Tmap }
- *
- */
- public void setMap(Tmap value)
- {
- this.map = value;
- }
-
- /**
- * Gets the value of the array property.
- *
- * @return possible object is {@link Tcollection }
- *
- */
- public Tcollection getArray()
- {
- return array;
- }
-
- /**
- * Sets the value of the array property.
- *
- * @param value allowed object is {@link Tcollection }
- *
- */
- public void setArray(Tcollection value)
- {
- this.array = value;
- }
-
- /**
- * Gets the value of the props property.
- *
- * @return possible object is {@link Tprops }
- *
- */
- public Tprops getProps()
- {
- return props;
- }
-
- /**
- * Sets the value of the props property.
- *
- * @param value allowed object is {@link Tprops }
- *
- */
- public void setProps(Tprops value)
- {
- this.props = value;
- }
-
- /**
- * Gets the value of the null property.
- *
- * @return possible object is {@link Tnull }
- *
- */
- public Tnull getNull()
- {
- return _null;
- }
-
- /**
- * Sets the value of the null property.
- *
- * @param value allowed object is {@link Tnull }
- *
- */
- public void setNull(Tnull value)
- {
- this._null = value;
- }
-
- /**
- * Gets the value of the name property.
- *
- * @return possible object is {@link String }
- *
- */
- public String getName()
- {
- return name;
- }
-
- /**
- * Sets the value of the name property.
- *
- * @param value allowed object is {@link String }
- *
- */
- public void setName(String value)
- {
- this.name = value;
- }
-
- /**
- * Gets the value of the ref property.
- *
- * @return possible object is {@link String }
- *
- */
- public String getRef()
- {
- return ref;
- }
-
- /**
- * Sets the value of the ref property.
- *
- * @param value allowed object is {@link String }
- *
- */
- public void setRef(String value)
- {
- this.ref = value;
- }
-
- /**
- * Gets the value of the valueFIXME property.
- *
- * @return possible object is {@link String }
- *
- */
- public String getValueFIXME()
- {
- return valueFIXME;
- }
-
- /**
- * Sets the value of the valueFIXME property.
- *
- * @param value allowed object is {@link String }
- *
- */
- public void setValueFIXME(String value)
- {
- this.valueFIXME = value;
- }
-
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TArgument.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TArgument.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TArgument.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -24,518 +24,97 @@
// $Id$
import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.List;
import javax.xml.bind.annotation.XmlType;
import org.jboss.osgi.blueprint.BlueprintContext;
-
/**
+ * An argument used to create an object defined by a <bean>
+ * component. The <argument> elements are the arguments for the
+ * bean class constructor or passed to the bean factory method.
+ *
+ * The type, if specified, is used to disambiguate the constructor
+ * or method signature. Arguments may also be matched up with
+ * arguments by explicitly specifying the index position. If the
+ * index is used, then all <argument> elements for the bean must
+ * also specify the index.
+ *
+ * The value and ref attributes are convenience shortcuts to make
+ * the <argument> tag easier to code. A fuller set of injected
+ * values and types can be specified using one of the "value"
+ * type elements.
+ *
+ * <xsd:complexType name="Targument">
+ * <xsd:sequence>
+ * <xsd:element name="description" type="Tdescription" minOccurs="0" />
+ * <xsd:group ref="Gvalue" minOccurs="0" />
+ * </xsd:sequence>
+ * <xsd:attribute name="index" type="xsd:nonNegativeInteger" />
+ * <xsd:attribute name="type" type="Ttype" />
+ * <xsd:attribute name="ref" type="Tidref" />
+ * <xsd:attribute name="value" type="TstringValue" />
+ * </xsd:complexType>
*
- * An argument used to create an object defined by a <bean> component. The <argument> elements are the arguments for the bean class constructor or passed to the bean
- * factory method.
- *
- * The type, if specified, is used to disambiguate the constructor or method signature. Arguments may also be matched up with arguments by explicitly specifying the
- * index position. If the index is used, then all <argument> elements for the bean must also specify the index.
- *
- * The value and ref attributes are convenience shortcuts to make the <argument> tag easier to code. A fuller set of injected values and types can be specified using
- * one of the "value" type elements.
- *
- * <p>
- * Java class for Targument complex type.
- * <p>
- * The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * <complexType name="Targument">
- * <complexContent>
- * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * <sequence>
- * <element name="description" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}String" minOccurs="0"/>
- * <group ref="{http://www.osgi.org/xmlns/blueprint/v1.0.0}value"/>
- * </sequence>
- * <attribute name="index" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" />
- * <attribute name="type" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tclass" />
- * <attribute name="ref" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tidref" />
- * <attribute name="valueFIXME" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}TstringValue" />
- * </restriction>
- * </complexContent>
- * </complexType>
- * </pre>
- *
- *
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
*/
- at XmlType(name = "Targument", namespace = BlueprintContext.XMLNS_BLUEPRINT, propOrder = { "description" })
-public class TArgument
+ at XmlType(name = "Targument", namespace = BlueprintContext.XMLNS_BLUEPRINT, propOrder = { "description", "valueElement" })
+public class TArgument extends GValue
{
protected String description;
- protected TService service;
- protected TReferenceList refList;
- protected TReferenceList refSet;
- protected TBean bean;
- protected TReference reference;
- protected TRef refFIXME;
- protected List<Object> any;
- protected TRef idref;
- protected Tvalue value;
- protected Tcollection list;
- protected Tcollection set;
- protected Tmap map;
- protected Tcollection array;
- protected Tprops props;
- protected Tnull _null;
protected BigInteger index;
protected String type;
protected String ref;
- protected String valueFIXME;
+ protected String value;
- /**
- * Gets the value of the description property.
- *
- * @return possible object is {@link String }
- *
- */
public String getDescription()
{
return description;
}
- /**
- * Sets the value of the description property.
- *
- * @param value allowed object is {@link String }
- *
- */
- public void setDescription(String value)
+ public void setDescription(String description)
{
- this.description = value;
+ this.description = description;
}
- /**
- * Gets the value of the service property.
- *
- * @return possible object is {@link TService }
- *
- */
- public TService getService()
- {
- return service;
- }
-
- /**
- * Sets the value of the service property.
- *
- * @param value allowed object is {@link TService }
- *
- */
- public void setService(TService value)
- {
- this.service = value;
- }
-
- /**
- * Gets the value of the refList property.
- *
- * @return possible object is {@link TReferenceList }
- *
- */
- public TReferenceList getRefList()
- {
- return refList;
- }
-
- /**
- * Sets the value of the refList property.
- *
- * @param value allowed object is {@link TReferenceList }
- *
- */
- public void setRefList(TReferenceList value)
- {
- this.refList = value;
- }
-
- /**
- * Gets the value of the refSet property.
- *
- * @return possible object is {@link TReferenceList }
- *
- */
- public TReferenceList getRefSet()
- {
- return refSet;
- }
-
- /**
- * Sets the value of the refSet property.
- *
- * @param value allowed object is {@link TReferenceList }
- *
- */
- public void setRefSet(TReferenceList value)
- {
- this.refSet = value;
- }
-
- /**
- * Gets the value of the bean property.
- *
- * @return possible object is {@link TBean }
- *
- */
- public TBean getBean()
- {
- return bean;
- }
-
- /**
- * Sets the value of the bean property.
- *
- * @param value allowed object is {@link TBean }
- *
- */
- public void setBean(TBean value)
- {
- this.bean = value;
- }
-
- /**
- * Gets the value of the reference property.
- *
- * @return possible object is {@link TReference }
- *
- */
- public TReference getReference()
- {
- return reference;
- }
-
- /**
- * Sets the value of the reference property.
- *
- * @param value allowed object is {@link TReference }
- *
- */
- public void setReference(TReference value)
- {
- this.reference = value;
- }
-
- /**
- * Gets the value of the refFIXME property.
- *
- * @return possible object is {@link TRef }
- *
- */
- public TRef getRefFIXME()
- {
- return refFIXME;
- }
-
- /**
- * Sets the value of the refFIXME property.
- *
- * @param value allowed object is {@link TRef }
- *
- */
- public void setRefFIXME(TRef value)
- {
- this.refFIXME = value;
- }
-
- /**
- * Gets the value of the any property.
- *
- * <p>
- * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the
- * JAXB object. This is why there is not a <CODE>set</CODE> method for the any property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- *
- * <pre>
- * getAny().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list {@link Object }
- *
- *
- */
- public List<Object> getAny()
- {
- if (any == null)
- {
- any = new ArrayList<Object>();
- }
- return this.any;
- }
-
- /**
- * Gets the value of the idref property.
- *
- * @return possible object is {@link TRef }
- *
- */
- public TRef getIdref()
- {
- return idref;
- }
-
- /**
- * Sets the value of the idref property.
- *
- * @param value allowed object is {@link TRef }
- *
- */
- public void setIdref(TRef value)
- {
- this.idref = value;
- }
-
- /**
- * Gets the value of the value property.
- *
- * @return possible object is {@link Tvalue }
- *
- */
- public Tvalue getValue()
- {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value allowed object is {@link Tvalue }
- *
- */
- public void setValue(Tvalue value)
- {
- this.value = value;
- }
-
- /**
- * Gets the value of the list property.
- *
- * @return possible object is {@link Tcollection }
- *
- */
- public Tcollection getList()
- {
- return list;
- }
-
- /**
- * Sets the value of the list property.
- *
- * @param value allowed object is {@link Tcollection }
- *
- */
- public void setList(Tcollection value)
- {
- this.list = value;
- }
-
- /**
- * Gets the value of the set property.
- *
- * @return possible object is {@link Tcollection }
- *
- */
- public Tcollection getSet()
- {
- return set;
- }
-
- /**
- * Sets the value of the set property.
- *
- * @param value allowed object is {@link Tcollection }
- *
- */
- public void setSet(Tcollection value)
- {
- this.set = value;
- }
-
- /**
- * Gets the value of the map property.
- *
- * @return possible object is {@link Tmap }
- *
- */
- public Tmap getMap()
- {
- return map;
- }
-
- /**
- * Sets the value of the map property.
- *
- * @param value allowed object is {@link Tmap }
- *
- */
- public void setMap(Tmap value)
- {
- this.map = value;
- }
-
- /**
- * Gets the value of the array property.
- *
- * @return possible object is {@link Tcollection }
- *
- */
- public Tcollection getArray()
- {
- return array;
- }
-
- /**
- * Sets the value of the array property.
- *
- * @param value allowed object is {@link Tcollection }
- *
- */
- public void setArray(Tcollection value)
- {
- this.array = value;
- }
-
- /**
- * Gets the value of the props property.
- *
- * @return possible object is {@link Tprops }
- *
- */
- public Tprops getProps()
- {
- return props;
- }
-
- /**
- * Sets the value of the props property.
- *
- * @param value allowed object is {@link Tprops }
- *
- */
- public void setProps(Tprops value)
- {
- this.props = value;
- }
-
- /**
- * Gets the value of the null property.
- *
- * @return possible object is {@link Tnull }
- *
- */
- public Tnull getNull()
- {
- return _null;
- }
-
- /**
- * Sets the value of the null property.
- *
- * @param value allowed object is {@link Tnull }
- *
- */
- public void setNull(Tnull value)
- {
- this._null = value;
- }
-
- /**
- * Gets the value of the index property.
- *
- * @return possible object is {@link BigInteger }
- *
- */
public BigInteger getIndex()
{
return index;
}
- /**
- * Sets the value of the index property.
- *
- * @param value allowed object is {@link BigInteger }
- *
- */
- public void setIndex(BigInteger value)
+ public void setIndex(BigInteger index)
{
- this.index = value;
+ this.index = index;
}
- /**
- * Gets the value of the type property.
- *
- * @return possible object is {@link String }
- *
- */
public String getType()
{
return type;
}
- /**
- * Sets the value of the type property.
- *
- * @param value allowed object is {@link String }
- *
- */
- public void setType(String value)
+ public void setType(String type)
{
- this.type = value;
+ this.type = type;
}
- /**
- * Gets the value of the ref property.
- *
- * @return possible object is {@link String }
- *
- */
public String getRef()
{
return ref;
}
- /**
- * Sets the value of the ref property.
- *
- * @param value allowed object is {@link String }
- *
- */
- public void setRef(String value)
+ public void setRef(String ref)
{
- this.ref = value;
+ this.ref = ref;
}
- /**
- * Gets the value of the valueFIXME property.
- *
- * @return possible object is {@link String }
- *
- */
- public String getValueFIXME()
+ public String getValue()
{
- return valueFIXME;
+ return value;
}
- /**
- * Sets the value of the valueFIXME property.
- *
- * @param value allowed object is {@link String }
- *
- */
- public void setValueFIXME(String value)
+ public void setValue(String value)
{
- this.valueFIXME = value;
+ this.value = value;
}
-
}
Deleted: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TAutoExportModes.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TAutoExportModes.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TAutoExportModes.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -1,64 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.blueprint.parser.xb;
-
-// $Id$
-
-/**
- * Java class for TautoExportModes.
- *
- * @author thomas.diesler at jboss.com
- * @since 13-May-2009
- */
-public enum TAutoExportModes
-{
-
- DISABLED("disabled"),
- INTERFACES("interfaces"),
- CLASS_HIERARCHY("class-hierarchy"),
- ALL_CLASSES("all-classes");
-
- private final String value;
-
- TAutoExportModes(String v)
- {
- value = v;
- }
-
- public String value()
- {
- return value;
- }
-
- public static TAutoExportModes fromValue(String v)
- {
- for (TAutoExportModes c : TAutoExportModes.values())
- {
- if (c.value.equals(v))
- {
- return c;
- }
- }
- throw new IllegalArgumentException(v);
- }
-
-}
Copied: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TAutoExportModes.java (from rev 91340, projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TAutoExportModes.java)
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TAutoExportModes.java (rev 0)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TAutoExportModes.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -0,0 +1,65 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.osgi.blueprint.parser.xb;
+
+// $Id$
+
+/**
+ * TautoExportModes is a base type that should be used for export-mode attributes.
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
+ */
+public enum TAutoExportModes
+{
+ // [JBXB-209] Enum parsing requires value equal to type name
+ // https://jira.jboss.org/jira/browse/JBXB-209
+ disabled("disabled"),
+ interfaces("interfaces"),
+ class_hierarchy("class-hierarchy"),
+ all_classes("all-classes");
+
+ private final String value;
+
+ TAutoExportModes(String v)
+ {
+ value = v;
+ }
+
+ public String value()
+ {
+ return value;
+ }
+
+ public static TAutoExportModes fromValue(String v)
+ {
+ for (TAutoExportModes c : TAutoExportModes.values())
+ {
+ if (c.value.equals(v))
+ {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
+
+}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TAvailability.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TAvailability.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TAvailability.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -22,9 +22,9 @@
package org.jboss.osgi.blueprint.parser.xb;
/**
- * Defines an availability attribute type. This is used in this
- * schema by the <blueprint> default-availability attribute and the
- * <reference>, <ref-set>, and <ref-list> availability attribute.
+ * Tavailability defines an availability attribute type. This is used in this
+ * schema by the <blueprint> default-availability attribute and the
+ * <reference> and <reference-list> availability attribute.
*
* @author thomas.diesler at jboss.com
* @since 13-May-2009
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TBean.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TBean.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TBean.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -23,29 +23,65 @@
// $Id$
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlType;
import javax.xml.namespace.QName;
import org.jboss.osgi.blueprint.BlueprintContext;
/**
- * The type defintion for a <bean> component.
+ * The type definition for a <bean> component.
*
+ * The <bean> attributes provide the characteristics for how to create a bean instance.
+ * Constructor arguments and injected properties are specified via child <argument> and <property> elements.
+ *
+ * <xsd:complexType name="Tbean">
+ * <xsd:complexContent>
+ * <xsd:extension base="Tcomponent">
+ * <xsd:group ref="GbeanElements" />
+ * <xsd:attribute name="class" type="Tclass" />
+ * <xsd:attribute name="init-method" type="Tmethod" />
+ * <xsd:attribute name="destroy-method" type="Tmethod" />
+ * <xsd:attribute name="factory-method" type="Tmethod" />
+ * <xsd:attribute name="factory-ref" type="Tidref" />
+ * <xsd:attribute name="scope" type="Tscope" />
+ * <xsd:anyAttribute namespace="##other" processContents="strict" />
+ * </xsd:extension>
+ * </xsd:complexContent>
+ * </xsd:complexType>
+ *
+ * <xsd:complexType name="Tcomponent" abstract="true">
+ * <xsd:attribute name="id" type="xsd:ID" />
+ * <xsd:attribute name="activation" type="Tactivation">
+ * <xsd:attribute name="depends-on" type="TdependsOn">
+ * </xsd:complexType>
+ *
+ * <xsd:group name="GbeanElements">
+ * <xsd:sequence>
+ * <xsd:element name="description" type="Tdescription" minOccurs="0" />
+ * <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ * <xsd:element name="argument" type="Targument" />
+ * <xsd:element name="property" type="Tproperty" />
+ * <xsd:any namespace="##other" processContents="strict" />
+ * </xsd:choice>
+ * </xsd:sequence>
+ * </xsd:group>
+ *
* @author thomas.diesler at jboss.com
* @since 13-May-2009
*/
- at XmlType(name = "Tbean", namespace = BlueprintContext.XMLNS_BLUEPRINT, propOrder = { "description", "properties", "arguments" })
+ at XmlType(name = "Tbean", namespace = BlueprintContext.XMLNS_BLUEPRINT, propOrder = { "description", "beanElements" })
public class TBean extends TComponent
{
protected String description;
- protected List<TProperty> properties;
- protected List<TArgument> arguments;
+ protected List<Object> beanElements;
protected String className;
protected String initMethod;
protected String destroyMethod;
@@ -64,27 +100,33 @@
this.description = value;
}
- @XmlElement(name = "property")
- public List<TProperty> getProperties()
+ @XmlElements( {
+ @XmlElement(name = "property", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = TProperty.class),
+ @XmlElement(name = "argument", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = TArgument.class) })
+ public List<Object> getBeanElements()
{
- return properties;
+ if (beanElements == null)
+ beanElements = new ArrayList<Object>();
+
+ return beanElements;
}
- public void setProperties(List<TProperty> properties)
+ public void setBeanElements(List<Object> beanElements)
{
- this.properties = properties;
+ this.beanElements = beanElements;
}
- public List<TArgument> getArguments()
+ public List<TProperty> getProperties()
{
- return arguments;
+ List<TProperty> props = new ArrayList<TProperty>();
+ for (Object obj : getBeanElements())
+ {
+ if (obj instanceof TProperty)
+ props.add((TProperty)obj);
+ }
+ return props;
}
-
- public void setArguments(List<TArgument> arguments)
- {
- this.arguments = arguments;
- }
-
+
@XmlAttribute(name = "class")
public String getClassName()
{
@@ -126,12 +168,12 @@
this.factoryMethod = value;
}
- public String getFactoryComponentId()
+ public String getFactoryRef()
{
return factoryRef;
}
- public void setFactoryComponentId(String value)
+ public void setFactoryRef(String value)
{
this.factoryRef = value;
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TBlueprint.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TBlueprint.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TBlueprint.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -48,18 +48,30 @@
/**
* The blueprint element is the top element.
*
- * The definitions consist of two sections: the type-converter section and the components section.
+ * <xsd:complexType name="Tblueprint">
+ * <xsd:sequence>
+ * <xsd:element name="description" type="Tdescription" minOccurs="0" />
+ * <xsd:element name="type-converters" type="Ttype-converters" minOccurs="0" maxOccurs="1" />
+ * <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ * <xsd:element name="service" type="Tservice" />
+ * <xsd:element name="reference-list" type="Treference-list" />
+ * <xsd:element name="bean" type="Tbean" />
+ * <xsd:element name="reference" type="Treference" />
+ * <xsd:any namespace="##other" processContents="strict" />
+ * </xsd:choice>
+ * </xsd:sequence>
+ * <xsd:attribute name="default-activation" default="eager" type="Tactivation"/>
+ * <xsd:attribute name="default-timeout" type="Ttimeout" default="300000"/>
+ * <xsd:attribute name="default-availability" type="Tavailability" default="mandatory"/>
+ * <xsd:anyAttribute namespace="##other" processContents="strict" />
+ * </xsd:complexType>
*
- * blueprint ::= <type-converters> component component ::= <bean> | <service> | service-reference service-reference ::= <reference> | <ref-list> | <ref-set>
- * type-converter ::= <bean> | <ref>
- *
* @author thomas.diesler at jboss.com
* @since 13-May-2009
*/
@JBossXmlSchema(namespace = BlueprintContext.XMLNS_BLUEPRINT, elementFormDefault = XmlNsForm.QUALIFIED)
@XmlRootElement(name = "blueprint", namespace = BlueprintContext.XMLNS_BLUEPRINT)
- at XmlType(name = "Tblueprint", namespace = BlueprintContext.XMLNS_BLUEPRINT,
- propOrder = { "description", "typeConverters", "components" })
+ at XmlType(name = "Tblueprint", namespace = BlueprintContext.XMLNS_BLUEPRINT, propOrder = { "description", "typeConverters", "components" })
public class TBlueprint
{
protected String description;
@@ -91,10 +103,10 @@
}
@XmlElements( {
+ @XmlElement(name = "bean", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = TBean.class),
@XmlElement(name = "service", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = TService.class),
- @XmlElement(name = "reference-list", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = TReferenceList.class),
- @XmlElement(name = "bean", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = TBean.class),
- @XmlElement(name = "reference", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = TReference.class) })
+ @XmlElement(name = "reference", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = TReference.class),
+ @XmlElement(name = "reference-list", namespace = BlueprintContext.XMLNS_BLUEPRINT, type = TReferenceList.class) })
public List<TComponent> getComponents()
{
if (components == null)
Deleted: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TComparator.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TComparator.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TComparator.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -1,93 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.blueprint.parser.xb;
-
-//$Id$
-
-import java.util.ArrayList;
-import java.util.List;
-
-
-/**
- * <p>
- * Java class for Tcomparator complex type.
- *
- * <p>
- * The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * <complexType name="Tcomparator">
- * <complexContent>
- * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * <group ref="{http://www.osgi.org/xmlns/blueprint/v1.0.0}targetComponent"/>
- * </restriction>
- * </complexContent>
- * </complexType>
- * </pre>
- *
- *
- */
-public class TComparator
-{
- protected List<TComponent> components;
- protected List<Object> any;
-
- public List<TComponent> getComponents()
- {
- return components;
- }
-
- public void setComponents(List<TComponent> components)
- {
- this.components = components;
- }
-
- /**
- * Gets the value of the any property.
- *
- * <p>
- * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the
- * JAXB object. This is why there is not a <CODE>set</CODE> method for the any property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- *
- * <pre>
- * getAny().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list {@link Object }
- *
- *
- */
- public List<Object> getAny()
- {
- if (any == null)
- {
- any = new ArrayList<Object>();
- }
- return this.any;
- }
-
-}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TComponent.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TComponent.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TComponent.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -23,25 +23,42 @@
//$Id$
-import java.util.ArrayList;
-import java.util.List;
-
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;
import org.jboss.osgi.blueprint.BlueprintContext;
-import org.osgi.service.blueprint.reflect.ComponentMetadata;
/**
- * The Component type is the base type for top-level
- * Blueprint components. The <bean> <reference>, <service>, <ref-set>, and <ref-list>
- * elements are all derived from the Component type.
+ * The Tcomponent type is the base type for top-level Blueprint components.
+ * The <bean> <reference>, <service>, and <reference-list> elements are all derived from
+ * the Tcomponent type. This type defines an id attribute that is used create references
+ * between different components.
*
- * This type defines an id attributre that is used create references between different components.
- * Component elements can also be inlined within other component definitions.
- *
- * The id attribute is not valid when inliine.
+ * Component elements can also be inlined within other component definitions.
+ * The id attribute is not valid when inlined.
*
+ * <xsd:complexType name="Tcomponent" abstract="true">
+ * <xsd:attribute name="id" type="xsd:ID" />
+ * <xsd:attribute name="activation" type="Tactivation">
+ * <xsd:attribute name="depends-on" type="TdependsOn">
+ * </xsd:complexType>
+ *
+ * <xsd:simpleType name="Tactivation">
+ * <xsd:restriction base="xsd:NMTOKEN">
+ * <xsd:enumeration value="eager" />
+ * <xsd:enumeration value="lazy" />
+ * </xsd:restriction>
+ * </xsd:simpleType>
+ *
+ * <xsd:simpleType name="TdependsOn">
+ * <xsd:restriction>
+ * <xsd:simpleType>
+ * <xsd:list itemType="Tidref" />
+ * </xsd:simpleType>
+ * <xsd:minLength value="1" />
+ * </xsd:restriction>
+ * </xsd:simpleType>
+ *
* @author thomas.diesler at jboss.com
* @since 13-May-2009
*/
@@ -49,8 +66,10 @@
public abstract class TComponent
{
protected String id;
- protected List<String> dependsOn;
- protected int initialization;
+ // How can I map an attribute to List of String
+ // http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4244086#4244086
+ protected String dependsOn;
+ protected TActivation activation;
@XmlAttribute(name = "id")
public String getId()
@@ -63,29 +82,25 @@
this.id = value;
}
- public List<String> getDependsOn()
+ @XmlAttribute
+ public String getDependsOn()
{
- if (dependsOn == null)
- dependsOn = new ArrayList<String>();
-
return dependsOn;
}
- public void setDependsOn(List<String> dependsOn)
+ public void setDependsOn(String dependsOn)
{
this.dependsOn = dependsOn;
}
- public int getInitialization()
+ @XmlAttribute
+ public TActivation getActivation()
{
- if (initialization == 0)
- initialization = ComponentMetadata.INITIALIZATION_EAGER;
-
- return initialization;
+ return activation;
}
- public void setInitialization(int initialization)
+ public void setActivation(TActivation activation)
{
- this.initialization = initialization;
+ this.activation = activation;
}
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TInterfaces.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TInterfaces.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TInterfaces.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -32,6 +32,16 @@
import org.jboss.osgi.blueprint.BlueprintContext;
/**
+ * The type definition for the <interfaces> element used for <service>
+ *
+ * <xsd:complexType name="Tinterfaces">
+ * <xsd:choice minOccurs="1" maxOccurs="unbounded">
+ * <xsd:element name="value" type="TinterfaceValue" />
+ * </xsd:choice>
+ * </xsd:complexType>
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
*/
@XmlType(name = "Tinterfaces", namespace = BlueprintContext.XMLNS_BLUEPRINT)
public class TInterfaces
Copied: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TNull.java (from rev 91340, projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tnull.java)
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TNull.java (rev 0)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TNull.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.osgi.blueprint.parser.xb;
+
+import javax.xml.bind.annotation.XmlType;
+
+import org.jboss.osgi.blueprint.BlueprintContext;
+
+// $Id$
+
+/**
+ * The definition for a <null> value type.
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
+ */
+ at XmlType(name = "Tnull", namespace = BlueprintContext.XMLNS_BLUEPRINT)
+public class TNull
+{
+
+}
Copied: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TProp.java (from rev 91340, projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tprop.java)
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TProp.java (rev 0)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TProp.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -0,0 +1,82 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.osgi.blueprint.parser.xb;
+
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+
+import org.jboss.osgi.blueprint.BlueprintContext;
+
+// $Id$
+
+/**
+ * Tprop is a single property element for a <props> value type. The property
+ * value can be specified using either the attribute, or as value data for
+ * the property element.
+ *
+ * <xsd:complexType name="Tprop" mixed="true">
+ * <xsd:attribute name="key" type="TstringValue" use="required" />
+ * <xsd:attribute name="value" type="TstringValue" />
+ * </xsd:complexType>
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
+ */
+ at XmlType(name = "Tprop", namespace = BlueprintContext.XMLNS_BLUEPRINT)
+public class TProp
+{
+ protected String content;
+ protected String key;
+ protected String value;
+
+ public String getContent()
+ {
+ return content;
+ }
+
+ public void setContent(String value)
+ {
+ this.content = value;
+ }
+
+ @XmlAttribute
+ public String getKey()
+ {
+ return key;
+ }
+
+ public void setKey(String value)
+ {
+ this.key = value;
+ }
+
+ @XmlAttribute
+ public String getValue()
+ {
+ return value;
+ }
+
+ public void setValue(String value)
+ {
+ this.value = value;
+ }
+}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TProperty.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TProperty.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TProperty.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -29,14 +29,35 @@
import org.jboss.osgi.blueprint.BlueprintContext;
/**
+ * A property that will be injected into a created <bean>
+ * component. The <property> elements correspond to named
+ * JavaBean setting methods for a created bean object.
+ *
+ * The value and ref attributes are convenience shortcuts to make
+ * the <argument> tag easier to code. A fuller set of injected
+ * values and types can be specified using one of the "value"
+ * type elements.
+ *
+ * <xsd:complexType name="Tproperty">
+ * <xsd:sequence>
+ * <xsd:element name="description" type="Tdescription" minOccurs="0" />
+ * <xsd:group ref="Gvalue" minOccurs="0" />
+ * </xsd:sequence>
+ * <xsd:attribute name="name" type="Tmethod" use="required" />
+ * <xsd:attribute name="ref" type="Tidref" />
+ * <xsd:attribute name="value" type="TstringValue" />
+ * </xsd:complexType>
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
*/
@XmlType(name = "Tproperty", namespace = BlueprintContext.XMLNS_BLUEPRINT, propOrder = { "description" })
-public class TProperty
+public class TProperty extends GValue
{
protected String description;
- protected String value;
protected String name;
protected String ref;
+ protected String value;
public String getDescription()
{
Copied: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TProps.java (from rev 91340, projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tprops.java)
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TProps.java (rev 0)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TProps.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -0,0 +1,59 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.osgi.blueprint.parser.xb;
+
+// $Id$
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlType;
+
+import org.jboss.osgi.blueprint.BlueprintContext;
+
+/**
+ * Tprops is the type used by the <props> value element. The prop elements
+ * are pairs of string-valued keys and values.
+ *
+ * <xsd:complexType name="Tprops">
+ * <xsd:sequence>
+ * <xsd:element name="prop" type="Tprop" minOccurs="0" maxOccurs="unbounded" />
+ * </xsd:sequence>
+ * </xsd:complexType>
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
+ */
+ at XmlType(name = "Tprops", namespace = BlueprintContext.XMLNS_BLUEPRINT)
+public class TProps
+{
+ protected List<TProp> prop;
+
+ public List<TProp> getProp()
+ {
+ if (prop == null)
+ prop = new ArrayList<TProp>();
+
+ return this.prop;
+ }
+
+}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TRef.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TRef.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TRef.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -32,6 +32,10 @@
* Tref is the type used for <ref> elements.
* This specifies a required component id for the reference component.
*
+ * <xsd:complexType name="Tref">
+ * <xsd:attribute name="component-id" type="Tidref" use="required" />
+ * </xsd:complexType>
+ *
* @author thomas.diesler at jboss.com
* @since 13-May-2009
*/
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TReference.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TReference.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TReference.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -25,23 +25,43 @@
import java.math.BigInteger;
+import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;
import org.jboss.osgi.blueprint.BlueprintContext;
/**
- * The Treference type defines the <reference> element. These are instances of the TserviceReference type, with the addition of a timeout attribute. If the timeout is
- * not specified, the default-timeout value is inherited from the encapsulating <blueprint> definition.
+ * The Treference type defines the <reference> element. These
+ * are instances of the TserviceReference type, with the addition
+ * of a timeout attribute. If the timeout is not specified,
+ * the default-timeout value is inherited from the encapsulating
+ * <blueprint> definition.
*
+ * <xsd:complexType name="Treference">
+ * <xsd:complexContent>
+ * <xsd:extension base="TserviceReference">
+ * <xsd:sequence>
+ * <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="strict" />
+ * </xsd:sequence>
+ * <xsd:attribute name="timeout" type="Ttimeout" />
+ * </xsd:extension>
+ * </xsd:complexContent>
+ * </xsd:complexType>
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
*/
// [JBXB-210] Property order cannot be defined on super type
// https://jira.jboss.org/jira/browse/JBXB-210
+// @XmlType(name = "Treference", namespace = BlueprintContext.XMLNS_BLUEPRINT)
+
@XmlType(name = "Treference", namespace = BlueprintContext.XMLNS_BLUEPRINT, propOrder = { "description", "referenceListeners" })
public class TReference extends TServiceReference
{
protected BigInteger timeout;
+ @XmlAttribute
public long getTimeout()
{
return timeout.longValue();
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TReferenceList.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TReferenceList.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TReferenceList.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -21,6 +21,9 @@
*/
package org.jboss.osgi.blueprint.parser.xb;
+import java.util.ArrayList;
+import java.util.List;
+
import javax.xml.bind.annotation.XmlType;
import org.jboss.osgi.blueprint.BlueprintContext;
@@ -28,17 +31,32 @@
//$Id$
/**
- * The Treference-list builds in the characteristics of the TserviceReference type to define characteristics of the <reference-list>.
+ * The Treference-list builds in the characteristics of the
+ * TserviceReference type to define characteristics of the <reference-list>.
*
* This adds in the characteristics that only apply to collections of references (e.g., member-type).
+ *
+ * <xsd:complexType name="Treference-list">
+ * <xsd:complexContent>
+ * <xsd:extension base="TserviceReference">
+ * <xsd:sequence>
+ * <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="strict" />
+ * </xsd:sequence>
+ * <xsd:attribute name="member-type" type="Tservice-use" default="service-object">
+ * </xsd:extension>
+ * </xsd:complexContent>
+ * </xsd:complexType>
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
*/
-
//[JBXB-210] Property order cannot be defined on super type
//https://jira.jboss.org/jira/browse/JBXB-210
@XmlType(name = "Treference-list", namespace = BlueprintContext.XMLNS_BLUEPRINT, propOrder = { "description" })
public class TReferenceList extends TServiceReference
{
protected TServiceUse memberType;
+ protected List<Object> any;
public TServiceUse getMemberType()
{
@@ -49,4 +67,12 @@
{
this.memberType = value;
}
+
+ public List<Object> getAny()
+ {
+ if (any == null)
+ any = new ArrayList<Object>();
+
+ return this.any;
+ }
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TReferenceListener.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TReferenceListener.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TReferenceListener.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -29,14 +29,48 @@
import org.jboss.osgi.blueprint.BlueprintContext;
/**
+ * TReferenceListener defines a reference listener that is attached
+ * to a <reference> or <reference-list> element. The listener
+ * object can be specified as a <ref> or as an inline <bean> or
+ * <reference> component. Listener events are mapped to the indicated
+ * bind or unbind methods.
+ *
+ * <xsd:complexType name="TreferenceListener">
+ * <xsd:sequence>
+ * <xsd:group ref="GtargetComponent" minOccurs="0" />
+ * </xsd:sequence>
+ * <xsd:attribute name="ref" type="Tidref" />
+ * <xsd:attribute name="bind-method" type="Tmethod" />
+ * <xsd:attribute name="unbind-method" type="Tmethod" />
+ * </xsd:complexType>
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
*/
- at XmlType(name = "TreferenceListener", namespace = BlueprintContext.XMLNS_BLUEPRINT)
-public class TReferenceListener
+
+//[JBXB-210] Property order cannot be defined on super type
+//https://jira.jboss.org/jira/browse/JBXB-210
+//@XmlType(name = "TreferenceListener", namespace = BlueprintContext.XMLNS_BLUEPRINT)
+
+ at XmlType(name = "TreferenceListener", namespace = BlueprintContext.XMLNS_BLUEPRINT, propOrder = { "bean", "reference", "refElement" })
+public class TReferenceListener extends GTargetComponent
{
+ protected String ref;
protected String bindMethod;
protected String unbindMethod;
@XmlAttribute
+ public String getRef()
+ {
+ return ref;
+ }
+
+ public void setRef(String ref)
+ {
+ this.ref = ref;
+ }
+
+ @XmlAttribute
public String getBindMethod()
{
return bindMethod;
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TRegistrationListener.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TRegistrationListener.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TRegistrationListener.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -23,55 +23,39 @@
// $Id$
-import java.util.ArrayList;
-import java.util.List;
-
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;
import org.jboss.osgi.blueprint.BlueprintContext;
/**
+ * A registration listener definition. The target registration listener
+ * can be either a <ref> to a <bean> or <service> component, or an inline
+ * <bean> or <service> component definition. The registration-method and
+ * unregistration-method attributes define the methods that will be called
+ * for the respective events.
*
+ * For the very common case of using a <ref> to a listener component, the
+ * ref attribute may also be used as a shortcut.
*
- * A registration listener definition. The target registration listener can be either a <ref> to a <bean> or <service> component, or an inline <bean> or <service>
- * component definition. The registration-method and unregistration-method attributes define the methods that will be called for the respective events.
+ * <xsd:complexType name="TregistrationListener">
+ * <xsd:sequence>
+ * <xsd:group ref="GtargetComponent" minOccurs="0" />
+ * </xsd:sequence>
+ * <xsd:attribute name="ref" type="Tidref" />
+ * <xsd:attribute name="registration-method" type="Tmethod" />
+ * <xsd:attribute name="unregistration-method" type="Tmethod" />
+ * </xsd:complexType>
*
- * For the very common case of using a <ref> to a listener component, the ref attribute may also be used as a shortcut.
- *
- *
- *
- * <p>
- * Java class for TregistrationListener complex type.
- *
- * <p>
- * The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * <complexType name="TregistrationListener">
- * <complexContent>
- * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * <group ref="{http://www.osgi.org/xmlns/blueprint/v1.0.0}targetComponent"/>
- * <attribute name="ref" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tidref" />
- * <attribute name="registration-method" use="required" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tmethod" />
- * <attribute name="unregistration-method" use="required" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tmethod" />
- * </restriction>
- * </complexContent>
- * </complexType>
- * </pre>
- *
- *
*/
-// [JBXB-211] @XmlType.propOrder required with no schema sequence
-// https://jira.jboss.org/jira/browse/JBXB-211
- at XmlType(name = "TregistrationListener", namespace = BlueprintContext.XMLNS_BLUEPRINT, propOrder = { "bean" })
-public class TRegistrationListener
+//[JBXB-210] Property order cannot be defined on super type
+//https://jira.jboss.org/jira/browse/JBXB-210
+//@XmlType(name = "TregistrationListener", namespace = BlueprintContext.XMLNS_BLUEPRINT)
+
+ at XmlType(name = "TregistrationListener", namespace = BlueprintContext.XMLNS_BLUEPRINT, propOrder = { "bean", "reference", "refElement" })
+public class TRegistrationListener extends GTargetComponent
{
- protected TBean bean;
- protected TReference reference;
- protected TRef refFIXME;
- protected List<Object> any;
protected String ref;
protected String registrationMethod;
protected String unregistrationMethod;
@@ -98,45 +82,7 @@
this.unregistrationMethod = value;
}
- public TBean getBean()
- {
- return bean;
- }
-
- public void setBean(TBean value)
- {
- this.bean = value;
- }
-
- public TReference getReference()
- {
- return reference;
- }
-
- public void setReference(TReference value)
- {
- this.reference = value;
- }
-
- public TRef getRefFIXME()
- {
- return refFIXME;
- }
-
- public void setRefFIXME(TRef value)
- {
- this.refFIXME = value;
- }
-
- public List<Object> getAny()
- {
- if (any == null)
- {
- any = new ArrayList<Object>();
- }
- return this.any;
- }
-
+ @XmlAttribute
public String getRef()
{
return ref;
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TService.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TService.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TService.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -36,23 +36,60 @@
import org.jboss.osgi.blueprint.BlueprintContext;
/**
- * Tservice is the type for services exported by this blueprint bundle. Services are sourced by either a <ref> to a <bean> component or an <inline> bean component.
+ * Tservice is the type for services exported by this blueprint bundle.
+ * Services are sourced by either a <ref> to a <bean> component or an
+ * <inline> bean component.
*
+ * <xsd:complexType name="Tservice">
+ * <xsd:complexContent>
+ * <xsd:extension base="Tcomponent">
+ * <xsd:sequence>
+ * <xsd:group ref="GserviceElements" />
+ * </xsd:sequence>
+ * <xsd:attribute name="interface" type="Tclass">
+ * <xsd:attribute name="ref" type="Tidref">
+ * <xsd:attribute name="auto-export" type="TautoExportModes"
+ * <xsd:attribute name="ranking" type="xsd:int" default="0">
+ * <xsd:anyAttribute namespace="##other" processContents="strict" />
+ * </xsd:extension>
+ * </xsd:complexContent>
+ * </xsd:complexType>
+ *
+ * <xsd:complexType name="Tcomponent" abstract="true">
+ * <xsd:attribute name="id" type="xsd:ID" />
+ * <xsd:attribute name="activation" type="Tactivation">
+ * <xsd:attribute name="depends-on" type="TdependsOn">
+ * </xsd:complexType>
+ *
+ * <xsd:group name="GserviceElements">
+ * <xsd:sequence>
+ * <xsd:group ref="GbaseServiceElements" />
+ * <xsd:group ref="GtargetComponent" minOccurs="0">
+ * </xsd:sequence>
+ * </xsd:group>
+ *
+ * <xsd:group name="GbaseServiceElements">
+ * <xsd:sequence>
+ * <xsd:element name="description" type="Tdescription" minOccurs="0" />
+ * <xsd:element name="interfaces" type="Tinterfaces" minOccurs="0">
+ * <xsd:element name="service-properties" type="TserviceProperties" minOccurs="0">
+ * <xsd:element name="registration-listener" type="TregistrationListener" minOccurs="0" maxOccurs="unbounded">
+ * </xsd:sequence>
+ * </xsd:group>
+ *
* @author thomas.diesler at jboss.com
* @since 13-May-2009
*/
- at XmlType(name = "Tservice", namespace = BlueprintContext.XMLNS_BLUEPRINT, propOrder = { "description", "interfaces", "serviceProperties", "registrationListeners",
- "bean", "ref" })
-public class TService extends TComponent
+ at XmlType(name = "Tservice", namespace = BlueprintContext.XMLNS_BLUEPRINT,
+ propOrder = { "description", "interfaces", "serviceProperties", "registrationListeners", "bean", "ref" })
+public class TService extends GTargetComponent
{
protected String description;
protected TInterfaces interfaces;
protected TServiceProperties serviceProperties;
protected List<TRegistrationListener> registrationListener;
- protected TBean bean;
- protected List<Object> any;
protected String ref;
- protected TAutoExportModes autoExportMode;
+ protected TAutoExportModes autoExport;
protected int ranking;
private Map<QName, String> otherAttributes = new HashMap<QName, String>();
@@ -119,38 +156,28 @@
this.registrationListener = registrationListener;
}
- public TBean getBean()
- {
- return bean;
- }
-
- public void setBean(TBean value)
- {
- this.bean = value;
- }
-
@XmlAttribute
public String getRef()
{
return ref;
}
- public void setRef(String value)
+ public void setRef(String ref)
{
- this.ref = value;
+ this.ref = ref;
}
- public TAutoExportModes getAutoExportMode()
+ public TAutoExportModes getAutoExport()
{
- if (autoExportMode == null)
- autoExportMode = TAutoExportModes.DISABLED;
+ if (autoExport == null)
+ autoExport = TAutoExportModes.disabled;
- return autoExportMode;
+ return autoExport;
}
- public void setAutoExportMode(TAutoExportModes value)
+ public void setAutoExport(TAutoExportModes value)
{
- this.autoExportMode = value;
+ this.autoExport = value;
}
public int getRanking()
@@ -167,13 +194,4 @@
{
return otherAttributes;
}
-
- public List<Object> getAny()
- {
- if (any == null)
- {
- any = new ArrayList<Object>();
- }
- return this.any;
- }
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TServiceProperties.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TServiceProperties.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TServiceProperties.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -32,32 +32,21 @@
/**
+ * TserviceProperty is used for <service-properties> elements.
+ * The syntax is similar to what is defined for <map>, but keys must be
+ * string values and there are no type defaults that can be specified.
+ * created from the entry elements, which require a key/value pair.
+ *
*
- *
- * TserviceProperty is used for <service-properties> elements.
- * The syntax is similar to what is defined for <map>, but keys must be
- * string values and there are no type defaults that can be specified.
- * created from the entry elements, which require a key/value pair.
- *
- *
+ * <xsd:complexType name="TserviceProperties">
+ * <xsd:sequence>
+ * <xsd:element name="entry" type="TservicePropertyEntry" minOccurs="0" maxOccurs="unbounded" />
+ * <xsd:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded" />
+ * </xsd:sequence>
+ * </xsd:complexType>
*
- * <p>Java class for TserviceProperties complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * <complexType name="TserviceProperties">
- * <complexContent>
- * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * <sequence>
- * <element name="entry" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}TservicePropertyEntry" maxOccurs="unbounded" minOccurs="0"/>
- * </sequence>
- * </restriction>
- * </complexContent>
- * </complexType>
- * </pre>
- *
- *
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
*/
@XmlType(name = "TserviceProperties", namespace = BlueprintContext.XMLNS_BLUEPRINT)
public class TServiceProperties {
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TServicePropertyEntry.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TServicePropertyEntry.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TServicePropertyEntry.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -21,6 +21,7 @@
*/
package org.jboss.osgi.blueprint.parser.xb;
+import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;
import org.jboss.osgi.blueprint.BlueprintContext;
@@ -28,16 +29,28 @@
// $Id$
/**
- * TservicePropertyEntry is an entry value used for the <service-properties> element. This does not allow a child <key> element and there are no key-ref or value-ref
+ * TservicePropertyEntry is an entry value used for the <service-properties> element.
+ * This does not allow a child <key> element and there are no key-ref or value-ref
* attributes.
*
+ * <xsd:complexType name="TservicePropertyEntry">
+ * <xsd:sequence>
+ * <xsd:group ref="Gvalue" minOccurs="0" />
+ * </xsd:sequence>
+ * <xsd:attribute name="key" type="TstringValue" use="required" />
+ * <xsd:attribute name="value" type="TstringValue" />
+ * </xsd:complexType>
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
*/
- at XmlType(name = "TservicePropertyEntry", namespace = BlueprintContext.XMLNS_BLUEPRINT, propOrder = { "value" })
-public class TServicePropertyEntry
+ at XmlType(name = "TservicePropertyEntry", namespace = BlueprintContext.XMLNS_BLUEPRINT)
+public class TServicePropertyEntry extends GValue
{
protected String key;
protected String value;
+ @XmlAttribute
public String getKey()
{
return key;
@@ -48,6 +61,7 @@
this.key = key;
}
+ @XmlAttribute
public String getValue()
{
return value;
@@ -57,5 +71,4 @@
{
this.value = value;
}
-
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TServiceReference.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TServiceReference.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TServiceReference.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -36,20 +36,45 @@
import org.jboss.osgi.blueprint.BlueprintContext;
/**
- * TserviceReference is the base element type used for <reference>, <ref-set>, and <ref-list> elements. This type defines all of the characteristics common to both
- * sorts of references.
+ * TserviceReference is the base element type used for <reference>, <ref-set>, and <ref-list> elements.
+ * This type defines all of the characteristics common to both sorts of references.
+ *
+ * <xsd:complexType name="TserviceReference">
+ * <xsd:complexContent>
+ * <xsd:extension base="Tcomponent">
+ * <xsd:sequence>
+ * <xsd:group ref="GserviceReferenceElements" />
+ * </xsd:sequence>
+ * <xsd:attribute name="interface" type="Tclass">
+ * <xsd:attribute name="filter" type="xsd:normalizedString">
+ * <xsd:attribute name="component-name" type="Tidref">
+ * <xsd:attribute name="availability" type="Tavailability">
+ * <xsd:anyAttribute namespace="##other" processContents="strict" />
+ * </xsd:extension>
+ * </xsd:complexContent>
+ * </xsd:complexType>
+ *
+ * <xsd:group name="GserviceReferenceElements">
+ * <xsd:sequence>
+ * <xsd:element name="description" type="Tdescription" minOccurs="0" />
+ * <xsd:element name="reference-listener" type="TreferenceListener" minOccurs="0" maxOccurs="unbounded">
+ * </xsd:sequence>
+ * </xsd:group>
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
*/
@XmlType(name = "TserviceReference", namespace = BlueprintContext.XMLNS_BLUEPRINT, propOrder = { "description", "referenceListeners" })
public class TServiceReference extends TComponent
{
protected String description;
protected List<TReferenceListener> listener;
- protected List<Object> any;
+ private String interfaceName;
protected String filter;
protected String componentName;
protected TAvailability availability;
+
private Map<QName, String> otherAttributes = new HashMap<QName, String>();
- private String interfaceName;
public String getDescription()
{
@@ -75,15 +100,6 @@
this.listener = listener;
}
- public List<Object> getAny()
- {
- if (any == null)
- {
- any = new ArrayList<Object>();
- }
- return this.any;
- }
-
public String getFilter()
{
return filter;
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TServiceUse.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TServiceUse.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TServiceUse.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -30,9 +30,7 @@
/**
* Indicates the type of object that will be placed within the reference collection.
*
- * "service-object" indicates the collection contains blueprint proxies for imported
- * services.
- *
+ * "service-object" indicates the collection contains blueprint proxies for imported services.
* "service-reference" indicates the collection contains ServiceReference objects matching the target service type.
*/
@XmlType(name = "Tservice-use", namespace = BlueprintContext.XMLNS_BLUEPRINT)
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TTypeConverters.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TTypeConverters.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TTypeConverters.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -34,32 +34,22 @@
/**
- *
- *
- * The type used for the <type-converters> element. The <type-converters> section is a set of <bean>, <ref>, or <reference> elements that identify the type convert
- * components that will ference components.
- *
- *
- *
- * <p>
- * Java class for Ttype-converters complex type.
- *
- * <p>
- * The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * <complexType name="Ttype-converters">
- * <complexContent>
- * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * <choice maxOccurs="unbounded" minOccurs="0">
- * <group ref="{http://www.osgi.org/xmlns/blueprint/v1.0.0}targetComponent"/>
- * </choice>
- * </restriction>
- * </complexContent>
- * </complexType>
- * </pre>
- *
- *
+ * The type used for the <type-converters> element.
+ *
+ * The <type-converters> section is a set of <bean>, <ref>, or
+ * <reference> elements that identify the type converter components.
+ *
+ * <xsd:complexType name="Ttype-converters">
+ * <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ * <xsd:element name="bean" type="Tbean" />
+ * <xsd:element name="reference" type="Treference" />
+ * <xsd:element name="ref" type="Tref" />
+ * <xsd:any namespace="##other" processContents="strict" />
+ * </xsd:choice>
+ * </xsd:complexType>
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
*/
@XmlType(name = "Ttype-converters", namespace = BlueprintContext.XMLNS_BLUEPRINT)
public class TTypeConverters
Copied: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TValue.java (from rev 91340, projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tvalue.java)
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TValue.java (rev 0)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TValue.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -0,0 +1,73 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.osgi.blueprint.parser.xb;
+
+// $Id$
+
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+
+import org.jboss.osgi.blueprint.BlueprintContext;
+
+/**
+ * Tvalue is the type used for <value> elements.
+ *
+ * The <value> element is used for types that can be created from a single string value.
+ *
+ * The string value is the data value for the element.
+ * The optional type attribute allows a target conversion value to be explicitly specified.
+ *
+ * <xsd:complexType name="Tvalue" mixed="true">
+ * <xsd:attribute name="type" type="Ttype" />
+ * </xsd:complexType>
+ *
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
+ */
+ at XmlType(name = "Tvalue", namespace = BlueprintContext.XMLNS_BLUEPRINT)
+public class TValue
+{
+ protected String content;
+ protected String type;
+
+ public String getContent()
+ {
+ return content;
+ }
+
+ public void setContent(String value)
+ {
+ this.content = value;
+ }
+
+ @XmlAttribute
+ public String getType()
+ {
+ return type;
+ }
+
+ public void setType(String value)
+ {
+ this.type = value;
+ }
+}
Deleted: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tcollection.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tcollection.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tcollection.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -1,95 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.blueprint.parser.xb;
-
-// $Id$
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.bind.JAXBElement;
-
-
-/**
- *
- *
- * Tcollection is the base schema type for different ordered collection types. This is shared between the <array>, <list>, and <set> elements.
- *
- *
- *
- * <p>
- * Java class for Tcollection complex type.
- *
- * <p>
- * The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * <complexType name="Tcollection">
- * <complexContent>
- * <extension base="{http://www.osgi.org/xmlns/blueprint/v1.0.0}TtypedCollection">
- * <group ref="{http://www.osgi.org/xmlns/blueprint/v1.0.0}value" maxOccurs="unbounded" minOccurs="0"/>
- * </extension>
- * </complexContent>
- * </complexType>
- * </pre>
- *
- *
- */
-public class Tcollection extends TtypedCollection
-{
- protected List<Object> value;
-
- /**
- * Gets the value of the value property.
- *
- * <p>
- * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the
- * JAXB object. This is why there is not a <CODE>set</CODE> method for the value property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- *
- * <pre>
- * getValue().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list {@link JAXBElement }{@code <}{@link Tvalue }{@code >} {@link JAXBElement }{@code <}{@link TService }{@code >}
- * {@link JAXBElement }{@code <}{@link TRef }{@code >} {@link JAXBElement }{@code <}{@link TReference }{@code >} {@link JAXBElement }{@code <}{@link TRef }{@code >}
- * {@link JAXBElement }{@code <}{@link Tmap }{@code >} {@link JAXBElement }{@code <}{@link TBean }{@code >} {@link JAXBElement }{@code <}{@link Tnull }{@code >}
- * {@link JAXBElement }{@code <}{@link TReferenceList }{@code >} {@link JAXBElement }{@code <}{@link TReferenceList }{@code >} {@link JAXBElement }{@code <}
- * {@link Tcollection }{@code >} {@link Object } {@link JAXBElement }{@code <}{@link Tcollection }{@code >} {@link JAXBElement }{@code <}{@link Tcollection }{@code >}
- * {@link JAXBElement }{@code <}{@link Tprops }{@code >}
- *
- *
- */
- public List<Object> getValue()
- {
- if (value == null)
- {
- value = new ArrayList<Object>();
- }
- return this.value;
- }
-
-}
Deleted: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tkey.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tkey.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tkey.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -1,384 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.blueprint.parser.xb;
-
-// $Id$
-
-import java.util.ArrayList;
-import java.util.List;
-
-
-/**
- * The Tkey type defines the element types that are permitted for Map key situations. These can be any of the "value" types other than the <null> element.
- *
- * <p>
- * Java class for Tkey complex type.
- *
- * <p>
- * The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * <complexType name="Tkey">
- * <complexContent>
- * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * <group ref="{http://www.osgi.org/xmlns/blueprint/v1.0.0}nonNullValue"/>
- * </restriction>
- * </complexContent>
- * </complexType>
- * </pre>
- *
- *
- */
-public class Tkey
-{
-
- protected TService service;
- protected TReferenceList refList;
- protected TReferenceList refSet;
- protected TBean bean;
- protected TReference reference;
- protected TRef refFIXME;
- protected List<Object> any;
- protected TRef idref;
- protected Tvalue value;
- protected Tcollection list;
- protected Tcollection set;
- protected Tmap map;
- protected Tcollection array;
- protected Tprops props;
-
- /**
- * Gets the value of the service property.
- *
- * @return possible object is {@link TService }
- *
- */
- public TService getService()
- {
- return service;
- }
-
- /**
- * Sets the value of the service property.
- *
- * @param value allowed object is {@link TService }
- *
- */
- public void setService(TService value)
- {
- this.service = value;
- }
-
- /**
- * Gets the value of the refList property.
- *
- * @return possible object is {@link TReferenceList }
- *
- */
- public TReferenceList getRefList()
- {
- return refList;
- }
-
- /**
- * Sets the value of the refList property.
- *
- * @param value allowed object is {@link TReferenceList }
- *
- */
- public void setRefList(TReferenceList value)
- {
- this.refList = value;
- }
-
- /**
- * Gets the value of the refSet property.
- *
- * @return possible object is {@link TReferenceList }
- *
- */
- public TReferenceList getRefSet()
- {
- return refSet;
- }
-
- /**
- * Sets the value of the refSet property.
- *
- * @param value allowed object is {@link TReferenceList }
- *
- */
- public void setRefSet(TReferenceList value)
- {
- this.refSet = value;
- }
-
- /**
- * Gets the value of the bean property.
- *
- * @return possible object is {@link TBean }
- *
- */
- public TBean getBean()
- {
- return bean;
- }
-
- /**
- * Sets the value of the bean property.
- *
- * @param value allowed object is {@link TBean }
- *
- */
- public void setBean(TBean value)
- {
- this.bean = value;
- }
-
- /**
- * Gets the value of the reference property.
- *
- * @return possible object is {@link TReference }
- *
- */
- public TReference getReference()
- {
- return reference;
- }
-
- /**
- * Sets the value of the reference property.
- *
- * @param value allowed object is {@link TReference }
- *
- */
- public void setReference(TReference value)
- {
- this.reference = value;
- }
-
- /**
- * Gets the value of the refFIXME property.
- *
- * @return possible object is {@link TRef }
- *
- */
- public TRef getRefFIXME()
- {
- return refFIXME;
- }
-
- /**
- * Sets the value of the refFIXME property.
- *
- * @param value allowed object is {@link TRef }
- *
- */
- public void setRefFIXME(TRef value)
- {
- this.refFIXME = value;
- }
-
- /**
- * Gets the value of the any property.
- *
- * <p>
- * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the
- * JAXB object. This is why there is not a <CODE>set</CODE> method for the any property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- *
- * <pre>
- * getAny().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list {@link Object }
- *
- *
- */
- public List<Object> getAny()
- {
- if (any == null)
- {
- any = new ArrayList<Object>();
- }
- return this.any;
- }
-
- /**
- * Gets the value of the idref property.
- *
- * @return possible object is {@link TRef }
- *
- */
- public TRef getIdref()
- {
- return idref;
- }
-
- /**
- * Sets the value of the idref property.
- *
- * @param value allowed object is {@link TRef }
- *
- */
- public void setIdref(TRef value)
- {
- this.idref = value;
- }
-
- /**
- * Gets the value of the value property.
- *
- * @return possible object is {@link Tvalue }
- *
- */
- public Tvalue getValue()
- {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value allowed object is {@link Tvalue }
- *
- */
- public void setValue(Tvalue value)
- {
- this.value = value;
- }
-
- /**
- * Gets the value of the list property.
- *
- * @return possible object is {@link Tcollection }
- *
- */
- public Tcollection getList()
- {
- return list;
- }
-
- /**
- * Sets the value of the list property.
- *
- * @param value allowed object is {@link Tcollection }
- *
- */
- public void setList(Tcollection value)
- {
- this.list = value;
- }
-
- /**
- * Gets the value of the set property.
- *
- * @return possible object is {@link Tcollection }
- *
- */
- public Tcollection getSet()
- {
- return set;
- }
-
- /**
- * Sets the value of the set property.
- *
- * @param value allowed object is {@link Tcollection }
- *
- */
- public void setSet(Tcollection value)
- {
- this.set = value;
- }
-
- /**
- * Gets the value of the map property.
- *
- * @return possible object is {@link Tmap }
- *
- */
- public Tmap getMap()
- {
- return map;
- }
-
- /**
- * Sets the value of the map property.
- *
- * @param value allowed object is {@link Tmap }
- *
- */
- public void setMap(Tmap value)
- {
- this.map = value;
- }
-
- /**
- * Gets the value of the array property.
- *
- * @return possible object is {@link Tcollection }
- *
- */
- public Tcollection getArray()
- {
- return array;
- }
-
- /**
- * Sets the value of the array property.
- *
- * @param value allowed object is {@link Tcollection }
- *
- */
- public void setArray(Tcollection value)
- {
- this.array = value;
- }
-
- /**
- * Gets the value of the props property.
- *
- * @return possible object is {@link Tprops }
- *
- */
- public Tprops getProps()
- {
- return props;
- }
-
- /**
- * Sets the value of the props property.
- *
- * @param value allowed object is {@link Tprops }
- *
- */
- public void setProps(Tprops value)
- {
- this.props = value;
- }
-
-}
Deleted: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tmap.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tmap.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tmap.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -1,116 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.blueprint.parser.xb;
-
-// $Id$
-
-import java.util.ArrayList;
-import java.util.List;
-
-
-/**
- *
- *
- * Tmap is the base type used for <map> elements. A map may have a default value type specified, so it inherits from the TtypeCollection type. A key type can also be
- * specified, and the map members are created from the entry elements, which require a key/value pair.
- *
- *
- *
- * <p>
- * Java class for Tmap complex type.
- *
- * <p>
- * The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * <complexType name="Tmap">
- * <complexContent>
- * <extension base="{http://www.osgi.org/xmlns/blueprint/v1.0.0}TtypedCollection">
- * <sequence>
- * <element name="entry" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}TmapEntry" maxOccurs="unbounded" minOccurs="0"/>
- * </sequence>
- * <attribute name="key-type" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tclass" />
- * </extension>
- * </complexContent>
- * </complexType>
- * </pre>
- *
- *
- */
-public class Tmap extends TtypedCollection
-{
-
- protected List<TmapEntry> entry;
- protected String keyType;
-
- /**
- * Gets the value of the entry property.
- *
- * <p>
- * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the
- * JAXB object. This is why there is not a <CODE>set</CODE> method for the entry property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- *
- * <pre>
- * getEntry().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list {@link TmapEntry }
- *
- *
- */
- public List<TmapEntry> getEntry()
- {
- if (entry == null)
- {
- entry = new ArrayList<TmapEntry>();
- }
- return this.entry;
- }
-
- /**
- * Gets the value of the keyType property.
- *
- * @return possible object is {@link String }
- *
- */
- public String getKeyType()
- {
- return keyType;
- }
-
- /**
- * Sets the value of the keyType property.
- *
- * @param value allowed object is {@link String }
- *
- */
- public void setKeyType(String value)
- {
- this.keyType = value;
- }
-
-}
Deleted: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TmapEntry.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TmapEntry.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TmapEntry.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -1,535 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.blueprint.parser.xb;
-
-// $Id$
-
-import java.util.ArrayList;
-import java.util.List;
-
-
-/**
- *
- *
- * TmapEntry is used for <entry> elements nested inside of a <map> element. Each <entry> instance defines a key/value pair that will be added to the Map. Both the keys
- * and values may be arbitrary types. Keys must not be <null> but <null> is permitted for entry values. A default type can be specified for both the keys and the
- * values, but individual keys or values can override the default.
- *
- *
- *
- * <p>
- * Java class for TmapEntry complex type.
- *
- * <p>
- * The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * <complexType name="TmapEntry">
- * <complexContent>
- * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * <sequence>
- * <element name="keyFIXME" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tkey" minOccurs="0"/>
- * <group ref="{http://www.osgi.org/xmlns/blueprint/v1.0.0}value"/>
- * </sequence>
- * <attribute name="key" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}TstringValue" />
- * <attribute name="key-ref" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tidref" />
- * <attribute name="valueFIXME" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}TstringValue" />
- * <attribute name="value-ref" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tidref" />
- * </restriction>
- * </complexContent>
- * </complexType>
- * </pre>
- *
- *
- */
-public class TmapEntry
-{
-
- protected Tkey keyFIXME;
- protected TService service;
- protected TReferenceList refList;
- protected TReferenceList refSet;
- protected TBean bean;
- protected TReference reference;
- protected TRef refFIXME;
- protected List<Object> any;
- protected TRef idref;
- protected Tvalue value;
- protected Tcollection list;
- protected Tcollection set;
- protected Tmap map;
- protected Tcollection array;
- protected Tprops props;
- protected Tnull _null;
- protected String key;
- protected String keyRef;
- protected String valueFIXME;
- protected String valueRef;
-
- /**
- * Gets the value of the keyFIXME property.
- *
- * @return possible object is {@link Tkey }
- *
- */
- public Tkey getKeyFIXME()
- {
- return keyFIXME;
- }
-
- /**
- * Sets the value of the keyFIXME property.
- *
- * @param value allowed object is {@link Tkey }
- *
- */
- public void setKeyFIXME(Tkey value)
- {
- this.keyFIXME = value;
- }
-
- /**
- * Gets the value of the service property.
- *
- * @return possible object is {@link TService }
- *
- */
- public TService getService()
- {
- return service;
- }
-
- /**
- * Sets the value of the service property.
- *
- * @param value allowed object is {@link TService }
- *
- */
- public void setService(TService value)
- {
- this.service = value;
- }
-
- /**
- * Gets the value of the refList property.
- *
- * @return possible object is {@link TReferenceList }
- *
- */
- public TReferenceList getRefList()
- {
- return refList;
- }
-
- /**
- * Sets the value of the refList property.
- *
- * @param value allowed object is {@link TReferenceList }
- *
- */
- public void setRefList(TReferenceList value)
- {
- this.refList = value;
- }
-
- /**
- * Gets the value of the refSet property.
- *
- * @return possible object is {@link TReferenceList }
- *
- */
- public TReferenceList getRefSet()
- {
- return refSet;
- }
-
- /**
- * Sets the value of the refSet property.
- *
- * @param value allowed object is {@link TReferenceList }
- *
- */
- public void setRefSet(TReferenceList value)
- {
- this.refSet = value;
- }
-
- /**
- * Gets the value of the bean property.
- *
- * @return possible object is {@link TBean }
- *
- */
- public TBean getBean()
- {
- return bean;
- }
-
- /**
- * Sets the value of the bean property.
- *
- * @param value allowed object is {@link TBean }
- *
- */
- public void setBean(TBean value)
- {
- this.bean = value;
- }
-
- /**
- * Gets the value of the reference property.
- *
- * @return possible object is {@link TReference }
- *
- */
- public TReference getReference()
- {
- return reference;
- }
-
- /**
- * Sets the value of the reference property.
- *
- * @param value allowed object is {@link TReference }
- *
- */
- public void setReference(TReference value)
- {
- this.reference = value;
- }
-
- /**
- * Gets the value of the refFIXME property.
- *
- * @return possible object is {@link TRef }
- *
- */
- public TRef getRefFIXME()
- {
- return refFIXME;
- }
-
- /**
- * Sets the value of the refFIXME property.
- *
- * @param value allowed object is {@link TRef }
- *
- */
- public void setRefFIXME(TRef value)
- {
- this.refFIXME = value;
- }
-
- /**
- * Gets the value of the any property.
- *
- * <p>
- * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the
- * JAXB object. This is why there is not a <CODE>set</CODE> method for the any property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- *
- * <pre>
- * getAny().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list {@link Object }
- *
- *
- */
- public List<Object> getAny()
- {
- if (any == null)
- {
- any = new ArrayList<Object>();
- }
- return this.any;
- }
-
- /**
- * Gets the value of the idref property.
- *
- * @return possible object is {@link TRef }
- *
- */
- public TRef getIdref()
- {
- return idref;
- }
-
- /**
- * Sets the value of the idref property.
- *
- * @param value allowed object is {@link TRef }
- *
- */
- public void setIdref(TRef value)
- {
- this.idref = value;
- }
-
- /**
- * Gets the value of the value property.
- *
- * @return possible object is {@link Tvalue }
- *
- */
- public Tvalue getValue()
- {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value allowed object is {@link Tvalue }
- *
- */
- public void setValue(Tvalue value)
- {
- this.value = value;
- }
-
- /**
- * Gets the value of the list property.
- *
- * @return possible object is {@link Tcollection }
- *
- */
- public Tcollection getList()
- {
- return list;
- }
-
- /**
- * Sets the value of the list property.
- *
- * @param value allowed object is {@link Tcollection }
- *
- */
- public void setList(Tcollection value)
- {
- this.list = value;
- }
-
- /**
- * Gets the value of the set property.
- *
- * @return possible object is {@link Tcollection }
- *
- */
- public Tcollection getSet()
- {
- return set;
- }
-
- /**
- * Sets the value of the set property.
- *
- * @param value allowed object is {@link Tcollection }
- *
- */
- public void setSet(Tcollection value)
- {
- this.set = value;
- }
-
- /**
- * Gets the value of the map property.
- *
- * @return possible object is {@link Tmap }
- *
- */
- public Tmap getMap()
- {
- return map;
- }
-
- /**
- * Sets the value of the map property.
- *
- * @param value allowed object is {@link Tmap }
- *
- */
- public void setMap(Tmap value)
- {
- this.map = value;
- }
-
- /**
- * Gets the value of the array property.
- *
- * @return possible object is {@link Tcollection }
- *
- */
- public Tcollection getArray()
- {
- return array;
- }
-
- /**
- * Sets the value of the array property.
- *
- * @param value allowed object is {@link Tcollection }
- *
- */
- public void setArray(Tcollection value)
- {
- this.array = value;
- }
-
- /**
- * Gets the value of the props property.
- *
- * @return possible object is {@link Tprops }
- *
- */
- public Tprops getProps()
- {
- return props;
- }
-
- /**
- * Sets the value of the props property.
- *
- * @param value allowed object is {@link Tprops }
- *
- */
- public void setProps(Tprops value)
- {
- this.props = value;
- }
-
- /**
- * Gets the value of the null property.
- *
- * @return possible object is {@link Tnull }
- *
- */
- public Tnull getNull()
- {
- return _null;
- }
-
- /**
- * Sets the value of the null property.
- *
- * @param value allowed object is {@link Tnull }
- *
- */
- public void setNull(Tnull value)
- {
- this._null = value;
- }
-
- /**
- * Gets the value of the key property.
- *
- * @return possible object is {@link String }
- *
- */
- public String getKey()
- {
- return key;
- }
-
- /**
- * Sets the value of the key property.
- *
- * @param value allowed object is {@link String }
- *
- */
- public void setKey(String value)
- {
- this.key = value;
- }
-
- /**
- * Gets the value of the keyRef property.
- *
- * @return possible object is {@link String }
- *
- */
- public String getKeyRef()
- {
- return keyRef;
- }
-
- /**
- * Sets the value of the keyRef property.
- *
- * @param value allowed object is {@link String }
- *
- */
- public void setKeyRef(String value)
- {
- this.keyRef = value;
- }
-
- /**
- * Gets the value of the valueFIXME property.
- *
- * @return possible object is {@link String }
- *
- */
- public String getValueFIXME()
- {
- return valueFIXME;
- }
-
- /**
- * Sets the value of the valueFIXME property.
- *
- * @param value allowed object is {@link String }
- *
- */
- public void setValueFIXME(String value)
- {
- this.valueFIXME = value;
- }
-
- /**
- * Gets the value of the valueRef property.
- *
- * @return possible object is {@link String }
- *
- */
- public String getValueRef()
- {
- return valueRef;
- }
-
- /**
- * Sets the value of the valueRef property.
- *
- * @param value allowed object is {@link String }
- *
- */
- public void setValueRef(String value)
- {
- this.valueRef = value;
- }
-
-}
Deleted: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tnull.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tnull.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tnull.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -1,53 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.blueprint.parser.xb;
-
-// $Id$
-
-/**
- *
- *
- * The definition for a <null> value type.
- *
- *
- *
- * <p>
- * Java class for Tnull complex type.
- *
- * <p>
- * The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * <complexType name="Tnull">
- * <complexContent>
- * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * </restriction>
- * </complexContent>
- * </complexType>
- * </pre>
- *
- *
- */
-public class Tnull
-{
-
-}
Deleted: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tprop.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tprop.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tprop.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -1,123 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.blueprint.parser.xb;
-
-// $Id$
-
-/**
- * Tprop is a single property element for a <props> value type. The property value can be specified using either the attribute, or as value data for the property
- * element.
- * <p>
- * Java class for Tprop complex type.
- * <p>
- * The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * <complexType name="Tprop">
- * <complexContent>
- * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * <attribute name="key" use="required" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}TstringValue" />
- * <attribute name="value" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}TstringValue" />
- * </restriction>
- * </complexContent>
- * </complexType>
- * </pre>
- *
- */
-public class Tprop
-{
- protected String content;
- protected String key;
- protected String value;
-
- /**
- *
- *
- * Tprop is a single property element for a <props> value type. The property value can be specified using either the attribute, or as value data for the property
- * element.
- *
- *
- *
- * @return possible object is {@link String }
- *
- */
- public String getContent()
- {
- return content;
- }
-
- /**
- * Sets the value of the content property.
- *
- * @param value allowed object is {@link String }
- *
- */
- public void setContent(String value)
- {
- this.content = value;
- }
-
- /**
- * Gets the value of the key property.
- *
- * @return possible object is {@link String }
- *
- */
- public String getKey()
- {
- return key;
- }
-
- /**
- * Sets the value of the key property.
- *
- * @param value allowed object is {@link String }
- *
- */
- public void setKey(String value)
- {
- this.key = value;
- }
-
- /**
- * Gets the value of the value property.
- *
- * @return possible object is {@link String }
- *
- */
- public String getValue()
- {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value allowed object is {@link String }
- *
- */
- public void setValue(String value)
- {
- this.value = value;
- }
-
-}
Deleted: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tprops.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tprops.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tprops.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -1,90 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.blueprint.parser.xb;
-
-// $Id$
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- *
- *
- * Tprops is the type used by the <props> value element. The prop elements are pairs of string-valued keys and values.
- *
- *
- *
- * <p>
- * Java class for Tprops complex type.
- *
- * <p>
- * The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * <complexType name="Tprops">
- * <complexContent>
- * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * <sequence>
- * <element name="prop" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tprop" maxOccurs="unbounded" minOccurs="0"/>
- * </sequence>
- * </restriction>
- * </complexContent>
- * </complexType>
- * </pre>
- *
- *
- */
-public class Tprops
-{
-
- protected List<Tprop> prop;
-
- /**
- * Gets the value of the prop property.
- *
- * <p>
- * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the
- * JAXB object. This is why there is not a <CODE>set</CODE> method for the prop property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- *
- * <pre>
- * getProp().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list {@link Tprop }
- *
- *
- */
- public List<Tprop> getProp()
- {
- if (prop == null)
- {
- prop = new ArrayList<Tprop>();
- }
- return this.prop;
- }
-
-}
Deleted: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TtypedCollection.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TtypedCollection.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/TtypedCollection.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -1,74 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.blueprint.parser.xb;
-
-// $Id$
-
-/**
- * TtypeCollection defines comment attributes shared among different collection types that allow a default value type to be specified.
- *
- * <p>
- * Java class for TtypedCollection complex type.
- *
- * <p>
- * The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * <complexType name="TtypedCollection">
- * <complexContent>
- * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * <attribute name="value-type" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tclass" />
- * </restriction>
- * </complexContent>
- * </complexType>
- * </pre>
- *
- *
- */
-public class TtypedCollection
-{
-
- protected String valueType;
-
- /**
- * Gets the value of the valueType property.
- *
- * @return possible object is {@link String }
- *
- */
- public String getValueType()
- {
- return valueType;
- }
-
- /**
- * Sets the value of the valueType property.
- *
- * @param value allowed object is {@link String }
- *
- */
- public void setValueType(String value)
- {
- this.valueType = value;
- }
-
-}
Deleted: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tvalue.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tvalue.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/xb/Tvalue.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -1,59 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.blueprint.parser.xb;
-
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
-
-import org.jboss.osgi.blueprint.BlueprintContext;
-
-// $Id$
-
-/**
- */
- at XmlType(name = "Tvalue", namespace = BlueprintContext.XMLNS_BLUEPRINT)
-public class Tvalue
-{
- protected String content;
- protected String type;
-
- public String getContent()
- {
- return content;
- }
-
- public void setContent(String value)
- {
- this.content = value;
- }
-
- @XmlAttribute
- public String getType()
- {
- return type;
- }
-
- public void setType(String value)
- {
- this.type = value;
- }
-}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/reflect/BlueprintMetadata.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/reflect/BlueprintMetadata.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/reflect/BlueprintMetadata.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -30,6 +30,7 @@
import java.util.Map;
import org.jboss.osgi.blueprint.BlueprintContext;
+import org.jboss.osgi.blueprint.parser.xb.TActivation;
import org.jboss.osgi.blueprint.parser.xb.TBlueprint;
import org.jboss.osgi.blueprint.parser.xb.TComponent;
import org.jboss.osgi.spi.NotImplementedException;
@@ -39,13 +40,6 @@
/**
* The blueprint element is the top element.
*
- * The definitions consist of two sections: the type-converter section and the components section.
- *
- * blueprint ::= <type-converters> component
- * component ::= <bean> | <service> | service-reference
- * service-reference ::= <reference> | <ref-list> | <ref-set>
- * type-converter ::= <bean> | <ref>
- *
* @author thomas.diesler at jboss.com
* @since 13-May-2009
*/
@@ -59,6 +53,17 @@
super(context, null);
this.tBlueprint = tBlueprint;
}
+
+ public int getDefaultActivation()
+ {
+ TActivation activation = tBlueprint.getDefaultActivation();
+ if (activation == TActivation.lazy)
+ return ComponentMetadata.ACTIVATION_LAZY;
+ else if (activation == TActivation.eager)
+ return ComponentMetadata.ACTIVATION_EAGER;
+ else
+ throw new IllegalStateException("Unsuported activation code: " + activation);
+ }
public void initialize()
{
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/reflect/ComponentMetadataImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/reflect/ComponentMetadataImpl.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/reflect/ComponentMetadataImpl.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -23,9 +23,12 @@
// $Id$
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import org.jboss.osgi.blueprint.BlueprintContext;
+import org.jboss.osgi.blueprint.parser.xb.TActivation;
import org.jboss.osgi.blueprint.parser.xb.TComponent;
import org.osgi.service.blueprint.reflect.ComponentMetadata;
@@ -47,7 +50,11 @@
public List<String> getDependsOn()
{
- return tComp.getDependsOn();
+ List<String> dependsOn = new ArrayList<String>();
+ if (tComp.getDependsOn() != null)
+ dependsOn = Arrays.asList(tComp.getDependsOn().split("/s"));
+
+ return dependsOn;
}
public String getId()
@@ -64,8 +71,19 @@
return key;
}
- public int getInitialization()
+ public int getActivation()
{
- return tComp.getInitialization();
+ int activationCode = blueprint.getDefaultActivation();
+ TActivation activation = tComp.getActivation();
+ if (activation != null)
+ {
+ if (activation == TActivation.lazy)
+ activationCode = ComponentMetadata.ACTIVATION_LAZY;
+ else if (activation == TActivation.eager)
+ activationCode = ComponentMetadata.ACTIVATION_EAGER;
+ else
+ throw new IllegalStateException("Unsuported activation code: " + activation);
+ }
+ return activationCode;
}
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/reflect/ReferenceMetadataImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/reflect/ReferenceMetadataImpl.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/reflect/ReferenceMetadataImpl.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -55,4 +55,5 @@
{
return "Reference[id=" + getId() + "]";
}
+
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/reflect/ServiceMetadataImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/reflect/ServiceMetadataImpl.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/reflect/ServiceMetadataImpl.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -55,13 +55,13 @@
public int getAutoExport()
{
int modeValue = AUTO_EXPORT_DISABLED;
- TAutoExportModes mode = tService.getAutoExportMode();
+ TAutoExportModes mode = tService.getAutoExport();
- if (mode == TAutoExportModes.ALL_CLASSES)
+ if (mode == TAutoExportModes.all_classes)
modeValue = AUTO_EXPORT_ALL_CLASSES;
- else if (mode == TAutoExportModes.CLASS_HIERARCHY)
+ else if (mode == TAutoExportModes.class_hierarchy)
modeValue = AUTO_EXPORT_CLASS_HIERARCHY;
- else if (mode == TAutoExportModes.INTERFACES)
+ else if (mode == TAutoExportModes.interfaces)
modeValue = AUTO_EXPORT_INTERFACES;
return modeValue;
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/BlueprintContainer.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/BlueprintContainer.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/BlueprintContainer.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -18,124 +18,82 @@
import java.util.Collection;
import java.util.Set;
-import org.osgi.framework.BundleContext;
+import org.osgi.service.blueprint.reflect.BeanMetadata;
import org.osgi.service.blueprint.reflect.ComponentMetadata;
+import org.osgi.service.blueprint.reflect.ReferenceListMetadata;
+import org.osgi.service.blueprint.reflect.ReferenceMetadata;
+import org.osgi.service.blueprint.reflect.ServiceMetadata;
+import org.osgi.service.blueprint.reflect.ServiceReferenceMetadata;
/**
- * BlueprintContainer providing access to the components, service exports, and
- * service references of a bundle using blueprint services. Only bundles in the
- * ACTIVE state may have an associated BlueprintContainer. A given BundleContext
- * has at most one associated BlueprintContainer.
- *
- * An instance of BlueprintContainer may be obtained from within a blueprint context by
- * injecting the predefined "blueprintContainer" component.
- * Alternatively you can look up BlueprintContainer services in the service registry.
- * The Constants.BUNDLE_SYMBOLICNAME and Constants.BUNDLE_VERSION service
- * properties can be used to determine which bundle the published BlueprintContainer
- * service is associated with.
- *
- * A BlueprintContainer implementation must support safe concurrent access. It is
- * legal for the set of named components and component metadata to change
- * between invocations on the same thread if another thread is concurrently
- * modifying the same mutable BlueprintContainer implementation object.
- *
- * @see org.osgi.framework.Constants
- *
+ * A Blueprint Container represents the managed state of a Blueprint bundle.
+ *
+ * A Blueprint Container provides access to all managed components. These are
+ * the beans, services, and service references. Only bundles in the
+ * <code>ACTIVE</code> state (and also the <code>STARTING</code> 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 {
-
/**
- * The container will apply strict compliance rules
+ * 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.
*/
- static final int COMPLIANCE_STRICT = 1;
-
- /**
- * The container will use loose compliance rules
- */
- static final int COMPLIANCE_LOOSE = 2;
-
- /**
- * The set of component names recognized by the blueprint context.
- *
- * @return an immutable set (of Strings) containing the names of all of the components within the
- * context.
- */
Set<String> getComponentIds();
/**
- * Get the component instance for a given named component. If the component has
- * not yet been instantiated, calling this operation will cause the component instance
- * to be created and initialized. If the component
- * has a prototype scope then each call to getComponent will return a new
- * component instance. If the component has a bundle scope then the component
- * instance returned will be the instance for the caller's bundle (and that
- * instance will be instantiated if it has not already been created).
- *
- * Note: calling getComponent from logic executing during the instantiation and
- * configuration of a component, before the init method (if specified) has returned,
- * may trigger a circular dependency (for a trivial example, consider a component
- * that looks itself up by name during its init method). Implementations of the
- * Blueprint Service are not required to support cycles in the dependency graph
- * and may throw an exception if a cycle is detected. Implementations that can
- * support certain kinds of cycles are free to do so.
- *
- * @param id the name of the component for which the instance is to be
- * retrieved.
- *
- * @return the component instance, the type of the returned object is
- * dependent on the component definition, and may be determined by
- * introspecting the component metadata.
- *
- * @throws NoSuchComponentException if the name specified is not the
- * name of a component within the context.
+ * Return the component instance for the specified component id.
+ *
+ * If the component's manager has not yet been activated, calling this
+ * operation will atomically activate it. If the component has singleton
+ * scope, the activation will cause the component instance to be created and
+ * initialized. If the component has prototype scope, then each call to this
+ * method will return a new component instance.
+ *
+ * @param id The component id for the requested component instance.
+ * @return A component instance for the component with the specified
+ * component id.
+ * @throws NoSuchComponentException If no component with the specified
+ * component id is managed by this Blueprint Container.
*/
Object getComponentInstance(String id);
/**
- * Get the component metadata for a given named component.
- *
- * @param id the name of the component for which the metadata is to be
- * retrieved.
- *
- * @return the component metadata for the component.
- *
- * @throws NoSuchComponentException if the name specified is not the
- * name of a component within the context.
+ * Return the Component Metadata object for the component with the specified
+ * component id.
+ *
+ * @param id The component id for the requested Component Metadata.
+ * @return The Component Metadata object for the component with the
+ * specified component id.
+ * @throws NoSuchComponentException If no component with the specified
+ * component id is managed by this Blueprint Container.
*/
ComponentMetadata getComponentMetadata(String id);
/**
- * Returns all ComponentMetadata instances of the given type. The supported
- * metadata types are ComponentMetadata (which returns the metadata for all defined
- * component types), BeanMetadata, ServiceReferenceMetadata (which returns both
- * ReferenceMetadata and RefListMetadata instances), ReferenceMetadata,
- * RefListMetadata, and ServiceMetadata. The collection will include all
- * metadata instances of the requested type, including components that are declared
- * as inline values.
- *
- * @return an immutable collection of ComponentMetadata objects of the matching type.
+ * Return all {@link ComponentMetadata} objects of the specified Component
+ * Metadata type. The supported Component Metadata types are
+ * {@link ComponentMetadata} (which returns the Component Metadata for all
+ * defined manager types), {@link BeanMetadata} ,
+ * {@link ServiceReferenceMetadata} (which returns both
+ * {@link ReferenceMetadata} and {@link ReferenceListMetadata} objects), and
+ * {@link ServiceMetadata}. The collection will include all Component
+ * Metadata objects of the requested type, including components that are
+ * declared inline.
+ *
+ * @param type The super type or type of the requested Component Metadata
+ * objects.
+ * @return An immutable collection of Component Metadata objects of the
+ * specified type.
*/
- <T extends ComponentMetadata> Collection<T> getMetadata(Class<T> type);
-
- /**
- * Get the bundle context of the bundle this blueprint context is associated
- * with.
- *
- * @return the blueprint context's bundle context
- */
- BundleContext getBundleContext();
-
-
- /**
- * Returns the compliance rule in effect for the target
- * BlueprintContainer. COMPLIANCE_LOOSE is returned if
- * any configuration file for the container specifies
- * loose compliance.
- *
- * @return The value COMPLIANCE_STRICT if strict compliance (the
- * default) is used for all configuration files, or the
- * value COMPLIANCE_LOOSE if loose complance is specified
- * in any of the configuration files.
- */
- int getCompliance();
+ <T extends ComponentMetadata> Collection<T> getMetadata(Class<T> type);
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/BlueprintEvent.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/BlueprintEvent.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/BlueprintEvent.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -19,211 +19,260 @@
/**
* A Blueprint Event.
- *
+ *
* <p>
- * <code>BlueprintEvent</code> objects are delivered to all registered <code>BlueprintListener</code>
- * service objects. BlueprintEvents must be asynchronously delivered in chronological order
- * with respect to each listener.
- *
+ * <code>BlueprintEvent</code> objects are delivered to all registered
+ * {@link BlueprintListener} services. Blueprint Events must be asynchronously
+ * delivered in chronological order with respect to each listener.
+ *
* <p>
- * In addition, when a listener is registered, the blueprint extender
- * will synchronously send to this listener the last event for each blueprint bundle managed
- * by this extender. This replay of events is designed so that the new listener can
- * be informed of the state of each managed bundle. Events sent during this replay will
- * have the {@link #replay} flag set. The blueprint extender must ensure that this replay phase
- * does not interfere with new events so that the chronological order of all events received
- * by the listener is preserved. If the last event for a given blueprint bundle is DESTROYED,
- * the extender must not send it during this replay phase.
- *
+ * 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
+ * <em>replay</em> 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.
+ *
* <p>
- * A type code is used to identify the type of event. The following event types are defined:
+ * A type code is used to identify the type of event. The following event types
+ * are defined:
* <ul>
- * <li>{@link #CREATING}
- * <li>{@link #CREATED}
- * <li>{@link #DESTROYING}
- * <li>{@link #DESTROYED}
- * <li>{@link #FAILURE}
- * <li>{@link #GRACE_PERIOD}
- * <li>{@link #WAITING}
+ * <li>{@link #CREATING}</li>
+ * <li>{@link #CREATED}</li>
+ * <li>{@link #DESTROYING}</li>
+ * <li>{@link #DESTROYED}</li>
+ * <li>{@link #FAILURE}</li>
+ * <li>{@link #GRACE_PERIOD}</li>
+ * <li>{@link #WAITING}</li>
* </ul>
- *
+ *
* <p>
- * <h2>Blueprint Events and EventAdmin</h2>
- * In addition to calling the registered {@link BlueprintListener}s, the blueprint extender
- * must also send those events to the EventAdmin service, if it is available. <br/>
- * See {@link EventConstants} for more informations.
- *
+ * 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.
+ * The Blueprint extender has started creating a Blueprint Container for the
+ * bundle.
*/
- public static final int CREATING = 1;
+ public static final int CREATING = 1;
/**
- * The Blueprint extender has creating a Blueprint Container for the bundle.
- * This event is sent after the BlueprintContainer service has been registered.
+ * 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;
+ public static final int CREATED = 2;
/**
- * The Blueprint extender has started detroying the Blueprint Container for the bundle.
+ * The Blueprint extender has started destroying the Blueprint Container for
+ * the bundle.
*/
- public static final int DESTROYING = 3;
+ public static final int DESTROYING = 3;
/**
* The Blueprint Container for the bundle has been completely destroyed.
- * This event is sent after the BlueprintContainer service has been unregistered.
+ * This event is sent after the Blueprint Container has been unregistered as
+ * a service.
*/
- public static final int DESTROYED = 4;
+ 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 <code>Throwable</code> through the {@link #getException()} method.
+ * 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 <code>Throwable</code> through the {@link #getCause()}
+ * method.
*/
- public static final int FAILURE = 5;
+ 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 GRACE_PERIOD event is sent each time the set of
- * unsatisfied dependencies changes.
+ * 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;
+ public static final int GRACE_PERIOD = 6;
/**
- * The Blueprint Extender 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.
+ * 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;
+ public static final int WAITING = 7;
-
/**
* Type of this event.
- *
+ *
* @see #getType()
*/
- private final int type;
+ private final int type;
/**
- * The time when the event occured.
- *
+ * The time when the event occurred.
+ *
* @see #getTimestamp()
*/
- private final long timestamp;
+ private final long timestamp;
/**
- * The blueprint bundle.
- *
+ * The Blueprint bundle.
+ *
* @see #getBundle()
*/
- private final Bundle bundle;
+ private final Bundle bundle;
/**
- * The blueprint extender bundle.
- *
- * @see #getExtenderBundle()
- */
- private final Bundle extenderBundle;
+ * The Blueprint extender bundle.
+ *
+ * @see #getExtenderBundle()
+ */
+ private final Bundle extenderBundle;
/**
- * An array containing filters identifying the missing dependencies.
- *
+ * An array containing filters identifying the missing dependencies. Must
+ * not be <code>null</code> when the event type requires it.
+ *
* @see #getDependencies()
*/
- private final String[] dependencies;
+ private final String[] dependencies;
/**
* Cause of the failure.
- *
- * @see #getException()
+ *
+ * @see #getCause()
*/
- private final Throwable exception;
+ private final Throwable cause;
/**
- * Indicate if this event is a replay event or not.
- *
+ * Indicate if this event is a replay event or not.
+ *
* @see #isReplay()
*/
- private final boolean replay;
+ private final boolean replay;
-
/**
- * Create a simple BlueprintEvent object.
- *
- * @param type The type of the event.
- * @param bundle The managed bundle this event is originating from.
- * @param extenderBundle
- * The bundle of the blueprint extender that is generating
- * the event.
+ * Create a simple <code>BlueprintEvent</code> object.
+ *
+ * @param type The type of this event.
+ * @param bundle The Blueprint bundle associated with this event. This
+ * parameter must not be <code>null</code>.
+ * @param extenderBundle The Blueprint extender bundle that is generating
+ * this event. This parameter must not be <code>null</code>.
*/
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 the event.
- * @param bundle The managed bundle this event is originating from.
- * @param extenderBundle
- * The bundle of the blueprint extender that is generating
- * the event.
- * @param dependencies
- * An array of String filters for each dependency associated
- * with this event.
+ * Create a <code>BlueprintEvent</code> 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 <code>null</code>.
+ * @param extenderBundle The Blueprint extender bundle that is generating
+ * this event. This parameter must not be <code>null</code>.
+ * @param dependencies An array of <code>String</code> 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 event type {@link #FAILURE}. Must be
+ * <code>null</code> for other event types.
*/
- public BlueprintEvent(int type, Bundle bundle, Bundle extenderBundle, String[] dependencies) {
+ 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 the event.
- * @param bundle The managed bundle this event is originating from.
- * @param extenderBundle
- * The bundle of the blueprint extender that is generating
- * the event.
- * @param exception A Throwable object describing the root cause of the
- * event.
+ * Create a <code>BlueprintEvent</code> 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 <code>null</code>.
+ * @param extenderBundle The Blueprint extender bundle that is generating
+ * this event. This parameter must not be <code>null</code>.
+ * @param cause A <code>Throwable</code> object describing the root cause of
+ * the event. May be <code>null</code>.
*/
- public BlueprintEvent(int type, Bundle bundle, Bundle extenderBundle, Throwable exception) {
- this(type, bundle, extenderBundle, null, exception);
+ 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 related to a set of dependencies.
- *
- * @param type The type of the event.
- * @param bundle The managed bundle this event is originating from.
- * @param extenderBundle
- * The bundle of the blueprint extender that is generating
- * the event.
- * @param dependencies
- * An array of String filters for each dependency associated
- * with this event.
- * @param exception A Throwable object describing the root cause of the
- * event.
+ * Create a <code>BlueprintEvent</code> 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 <code>null</code>.
+ * @param extenderBundle The Blueprint extender bundle that is generating
+ * this event. This parameter must not be <code>null</code>.
+ * @param dependencies An array of <code>String</code> 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 event type {@link #FAILURE}. Must be
+ * <code>null</code> for other event types.
+ * @param cause A <code>Throwable</code> object describing the root cause of
+ * this event. May be <code>null</code>.
*/
- public BlueprintEvent(int type, Bundle bundle, Bundle extenderBundle, String[] dependencies, Throwable exception) {
+ 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;
- this.exception = exception;
+ 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 :
+ if ((dependencies != null) && (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 blueprint event from the given blueprint event.
- * The timestamp property will be copied from the original event and only the
- * replay property will be overriden with the given value.
- *
- * @param event the original event to copy
- * @param replay if the copied event should be used as a replay event
+ * Create a new <code>BlueprintEvent</code> from the specified
+ * <code>BlueprintEvent</code>. The <code>timestamp</code> property will be
+ * copied from the original event and only the replay property will be
+ * overridden with the given value.
+ *
+ * @param event The original <code>BlueprintEvent</code> to copy. Must not
+ * be <code>null</code>.
+ * @param replay <code>true</code> if this event should be used as a replay
+ * event.
*/
public BlueprintEvent(BlueprintEvent event, boolean replay) {
this.type = event.type;
@@ -231,7 +280,7 @@
this.bundle = event.bundle;
this.extenderBundle = event.extenderBundle;
this.dependencies = event.dependencies;
- this.exception = event.exception;
+ this.cause = event.cause;
this.replay = replay;
}
@@ -240,15 +289,15 @@
* <p>
* The type values are:
* <ul>
- * <li>{@link #CREATING}
- * <li>{@link #CREATED}
- * <li>{@link #DESTROYING}
- * <li>{@link #DESTROYED}
- * <li>{@link #FAILURE}
- * <li>{@link #GRACE_PERIOD}
- * <li>{@link #WAITING}
+ * <li>{@link #CREATING}</li>
+ * <li>{@link #CREATED}</li>
+ * <li>{@link #DESTROYING}</li>
+ * <li>{@link #DESTROYED}</li>
+ * <li>{@link #FAILURE}</li>
+ * <li>{@link #GRACE_PERIOD}</li>
+ * <li>{@link #WAITING}</li>
* </ul>
- *
+ *
* @return The type of this event.
*/
public int getType() {
@@ -256,61 +305,62 @@
}
/**
- * Return the time at which this event occured.
- *
- * @return The time at which this event occured.
+ * Return the time at which this event was created.
+ *
+ * @return The time at which this event was created.
*/
public long getTimestamp() {
return timestamp;
}
/**
- * Return the blueprint bundle.
- *
- * @return The blueprint bundle. Never <code>null</code>.
+ * Return the Blueprint bundle associated with this event.
+ *
+ * @return The Blueprint bundle associated with this event.
*/
public Bundle getBundle() {
return bundle;
}
/**
- * Return the Bundle of the blueprint extender.
- *
- * @return The Bundle of the blueprint extender. Never <code>null</code>.
+ * Return the Blueprint extender bundle that is generating this event.
+ *
+ * @return The Blueprint extender bundle that is generating this event.
*/
public Bundle getExtenderBundle() {
return extenderBundle;
}
/**
- * Return the filters identifying the missing dependencies that caused this event.
- * <p>
- * This field is only valid for {@link #WAITING},
- * {@link #GRACE_PERIOD} and {@link #FAILURE}
- * events.
- *
- * @return The missing dependencies informations. May be <code>null</code>.
+ * Return the filters identifying the missing dependencies that caused this
+ * event.
+ *
+ * @return The filters identifying the missing dependencies that caused this
+ * event if the event type is one of {@link #WAITING},
+ * {@link #GRACE_PERIOD} or {@link #FAILURE} or <code>null</code>
+ * for the other event types.
*/
public String[] getDependencies() {
- return dependencies;
+ return dependencies == null ? null : (String[]) dependencies.clone();
}
/**
- * Return the cause for a {@link #FAILURE} event.
- *
- * @return The cause of the failure. May be <code>null</code>.
+ * Return the cause for this {@link #FAILURE} event.
+ *
+ * @return The cause of the failure for this event. May be <code>null</code>
+ * .
*/
- public Throwable getException() {
- return exception;
+ public Throwable getCause() {
+ return cause;
}
/**
- * Return the fact that this event is a replay event or not.
- *
- * @return a boolean indicating if this event is a replay event.
+ * Return whether this event is a replay event.
+ *
+ * @return <code>true</code> if this event is a replay event and
+ * <code>false</code> otherwise.
*/
public boolean isReplay() {
return replay;
}
-
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/BlueprintListener.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/BlueprintListener.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/BlueprintListener.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -16,17 +16,37 @@
package org.osgi.service.blueprint.container;
/**
- * Listener for <code>BlueprintEvent</code>s.
- *
+ * A <code>BlueprintEvent</code> Listener.
+ *
+ * <p>
+ * 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.
- *
- * @param event The <code>BlueprintEvent</code>.
- */
+ * Receives notifications of a Blueprint Event.
+ *
+ * Implementers should quickly process the event and return.
+ *
+ * @param event The {@link BlueprintEvent}.
+ */
void blueprintEvent(BlueprintEvent event);
-
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/ComponentDefinitionException.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/ComponentDefinitionException.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/ComponentDefinitionException.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -16,53 +16,50 @@
package org.osgi.service.blueprint.container;
/**
- * Exception thrown when a configuration-related error occurs during
- * creation of a module context.
+ * 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;
- private static final long serialVersionUID = 1L;
-
-
- /**
- * Creates a <code>ComponentDefinitionException</code> with no message or
- * exception cause.
+ /**
+ * Creates a Component Definition Exception with no message or exception
+ * cause.
*/
public ComponentDefinitionException() {
super();
}
-
/**
- * Creates a <code>ComponentDefinitionException</code> with the specified message
- *
- * @param msg The associated message.
+ * Creates a Component Definition Exception with the specified message
+ *
+ * @param explanation The associated message.
*/
public ComponentDefinitionException(String explanation) {
super(explanation);
}
-
/**
- * Creates a <code>ComponentDefinitionException</code> with the specified message and
+ * Creates a Component Definition Exception with the specified message and
* exception cause.
- *
- * @param msg The associated message.
+ *
+ * @param explanation The associated message.
* @param cause The cause of this exception.
*/
public ComponentDefinitionException(String explanation, Throwable cause) {
super(explanation, cause);
}
-
/**
- * Creates a <code>ComponentDefinitionException</code> with the
- * exception cause.
- *
+ * Creates a Component Definition Exception with the exception cause.
+ *
* @param cause The cause of this exception.
*/
public ComponentDefinitionException(Throwable cause) {
super(cause);
}
-
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/Converter.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/Converter.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/Converter.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -16,29 +16,36 @@
package org.osgi.service.blueprint.container;
/**
- * Provides access to the type conversions (both predefined and user registered)
- * that are defined for the blueprint container.
+ * Type converter to convert an object to a target type.
+ *
+ * @ThreadSafe
+ * @version $Revision$
*/
public interface Converter {
/**
- * Check if the converter is able to convert the given value to the specified
- * type.
- *
- * @return <code>true</code> if the conversion is possible, <code>false</code> otherwise.
+ * Return if this converter is able to convert the specified object to the
+ * specified type.
+ *
+ * @param sourceObject The source object <code>s</code> to convert.
+ * @param targetType The target type <code>T</code>.
+ *
+ * @return <code>true</code> if the conversion is possible,
+ * <code>false</code> otherwise.
*/
- boolean canConvert(Object fromValue, Class<?> toType);
+ boolean canConvert(Object sourceObject, ReifiedType targetType);
/**
- * Convert an object to an instance of the given class, using the built-in and
- * user-registered type converters as necessary.
- * @param fromValue the object to be converted
- * @param toType the type that the instance is to be converted to
- * @return an instance of the class 'toType'
- * @throws Exception if the conversion cannot succeed. This exception is
- * checked because callers should expect that not all source objects
- * can be successfully converted.
+ * Convert the specified object to an instance of the specified type.
+ *
+ * @param sourceObject The source object <code>s</code> to convert.
+ * @param targetType The target type <code>T</code>.
+ * @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 <code>true</code>.
*/
- Object convert(Object fromValue, Class<?> toType) throws Exception;
-
+ Object convert(Object sourceObject, ReifiedType targetType)
+ throws Exception;
}
\ No newline at end of file
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/EventConstants.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/EventConstants.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/EventConstants.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -15,164 +15,175 @@
*/
package org.osgi.service.blueprint.container;
-import org.osgi.framework.Bundle;
-
/**
- * Event property names used in EventAdmin events published for a
- * blueprint container.
- *
- * Each type of event is sent to a different topic:<br/>
- * <pre>
- * org/osgi/service/blueprint/container/<event-type>
- * </pre>
- * where <code><event-type></code> can have the values <code>CREATING</code>, <code>CREATED</code>,
- * <code>DESTROYING</code>, <code>DESTROYED</code>, <code>FAILURE</code>, <code>GRACE_PERIOD</code> or
- * <code>WAITING</code>. <br/>
- * Such events have the following properties:<ul>
- * <li><code>type<code>
- * <li><code>event<code>
- * <li><code>timestamp<code>
- * <li><code>bundle<code>
- * <li><code>bundle.symbolicName<code>
- * <li><code>bundle.id<code>
- * <li><code>bundle.version<code>
- * <li><code>extender.bundle<code>
- * <li><code>extender.bundle.symbolicName<code>
- * <li><code>extender.bundle.id<code>
- * <li><code>extender.bundle.version<code>
- * <li><code>dependencies<code>
- * <li><code>cause<code>
+ * Event property names used in Event Admin events published by a Blueprint
+ * Container.
+ *
+ * <p>
+ * Each type of event is sent to a different topic:
+ *
+ * <p>
+ * <code>org/osgi/service/blueprint/container/</code><em><event-type></em>
+ *
+ * <p>
+ * where <em><event-type></em> 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}.
+ *
+ * <p>
+ * Such events have the following properties:
+ * <ul>
+ * <li>{@link #TYPE type}</li>
+ * <li>{@link #EVENT event}</li>
+ * <li>{@link #TIMESTAMP timestamp}</li>
+ * <li>{@link #BUNDLE bundle}</li>
+ * <li>{@link #BUNDLE_SYMBOLICNAME bundle.symbolicName}</li>
+ * <li>{@link #BUNDLE_ID bundle.id}</li>
+ * <li>{@link #BUNDLE_VERSION bundle.version}</li>
+ * <li>{@link #EXTENDER_BUNDLE_SYMBOLICNAME extender.bundle.symbolicName}</li>
+ * <li>{@link #EXTENDER_BUNDLE_ID extender.bundle.id}</li>
+ * <li>{@link #EXTENDER_BUNDLE_VERSION extender.bundle.version}</li>
+ * <li>{@link #DEPENDENCIES dependencies}</li>
+ * <li>{@link #CAUSE cause}</li>
* </ul>
+ *
+ * @Immutable
+ * @version $Revision$
*/
-public interface EventConstants {
-
+public class EventConstants {
+ private EventConstants() {
+ // non-instantiable class
+ }
+
/**
- * The type of the event that has been issued.
- * This property is of type {@link java.lang.Integer} and can take one of the values defined in {@link BlueprintEvent}.
+ * The type of the event that has been issued. This property is of type
+ * <code>Integer</code> and can take one of the values defined in
+ * {@link BlueprintEvent}.
*/
public static final String TYPE = "type";
-
+
/**
- * The <code>BlueprintEvent</code> that caused this event.
- * This property is of type {@link BlueprintEvent}.
- */
+ * The <code>BlueprintEvent</code> object that caused this event. This
+ * property is of type {@link BlueprintEvent}.
+ */
public static final String EVENT = "event";
/**
- * The type of the event that has been issued.
- * This property is of type {@link java.lang.Long}.
- */
+ * The time the event was created. This property is of type
+ * <code>Long</code>.
+ */
public static final String TIMESTAMP = "timestamp";
-
+
/**
- * The bundle property defining the blueprint bundle for which an event has been issued.
- * This property is of type {@link org.osgi.framework.Bundle}.
- *
- * @see Bundle
- */
+ * The Blueprint bundle associated with this event. This property is of type
+ * <code>Bundle</code>.
+ */
public static final String BUNDLE = "bundle";
/**
- * The bundle id property defining the id of the blueprint bundle for which an event has been issued.
- * This property is of type {@link java.lang.Integer}.
- */
+ * The bundle id of the Blueprint bundle associated with this event. This
+ * property is of type <code>Long</code>.
+ */
public static final String BUNDLE_ID = "bundle.id";
/**
- * The bundle symbolic name property defining the symbolic name of
- * the blueprint bundle for which an event has been issued.
- * This property is of type {@link java.lang.String}.
- */
+ * The bundle symbolic name of the Blueprint bundle associated with this
+ * event. This property is of type <code>String</code>.
+ */
public static final String BUNDLE_SYMBOLICNAME = "bundle.symbolicName";
/**
- * The bundle id property defining the id of the blueprint bundle for which an event has been issued.
- * This property is of type {@link java.lang.Integer}.
- */
+ * The bundle version of the Blueprint bundle associated with this event.
+ * This property is of type <code>Version</code>.
+ */
public static final String BUNDLE_VERSION = "bundle.version";
/**
- * The extender bundle property defining the extender bundle processing the
- * blueprint container for which an event has been issued.
- * This property is of type {@link org.osgi.framework.Bundle}.
- *
- * @see Bundle
+ * The Blueprint extender bundle that is generating this event. This
+ * property is of type <code>Bundle</code>.
*/
public static final String EXTENDER_BUNDLE = "extender.bundle";
/**
- * The extender bundle id property defining the id of the extender bundle
- * processing the blueprint container for which an event has been issued.
- * This property is of type {@link java.lang.Integer}.
+ * The bundle id of the Blueprint extender bundle that is generating this
+ * event. This property is of type <code>Long</code>.
*/
public static final String EXTENDER_BUNDLE_ID = "extender.bundle.id";
/**
- * The extender bundle symbolic name property defining the symbolic name of
- * the extender bundle processing the blueprint container for which an event
- * has been issued.
- * This property is of type {@link java.lang.String}.
+ * The bundle symbolic of the Blueprint extender bundle that is generating
+ * this event. This property is of type <code>String</code>.
*/
public static final String EXTENDER_BUNDLE_SYMBOLICNAME = "extender.bundle.symbolicName";
/**
- * The extender bundle version property defining the version of the extender bundle
- * processing the blueprint container for which an event has been issued.
- * This property is of type {@link java.lang.Integer}.
- */
+ * The bundle version of the Blueprint extender bundle that is generating
+ * this event. This property is of type <code>Version</code>.
+ */
public static final String EXTENDER_BUNDLE_VERSION = "extender.bundle.version";
/**
- * The dependencies property containing an array of filters describing the missing
- * mandatory dependencies for a FAILED, GRACE_PERIOD or WAITING event.
- * This property is an array of {@link java.lang.String}.
- */
+ * 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 <code>String</code>.
+ */
public static final String DEPENDENCIES = "dependencies";
/**
- * The exception property containing the cause for a FAILED event.
- * This property is of type {@link java.lang.Throwable}.
- */
- public static final String EXCEPTION = "exception";
+ * The cause for a {@link BlueprintEvent#FAILURE FAILURE} event. This
+ * property is of type <code>Throwable</code>.
+ */
+ public static final String CAUSE = "cause";
/**
- * Topic prefix for all events issued by the Blueprint Service
+ * Topic prefix for all events issued by the Blueprint Container
*/
- public static final String TOPIC_BLUEPRINT_EVENTS = "org/osgi/service/blueprint";
+ 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 + "/container/CREATING";
+ 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 + "/container/CREATED";
+ * 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 + "/container/DESTROYING";
+ * 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 + "/container/DESTROYED";
+ 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 + "/container/FAILURE";
+ * 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 + "/container/GRACE_PERIOD";
+ * 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 + "/container/WAITING";
-
+ public static final String TOPIC_WAITING = TOPIC_BLUEPRINT_EVENTS
+ + "/WAITING";
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/NoSuchComponentException.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/NoSuchComponentException.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/NoSuchComponentException.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -16,47 +16,50 @@
package org.osgi.service.blueprint.container;
/**
- * Thrown when an attempt is made to lookup a component by name and no such named
- * component exists in the 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 name of the component request that generated the
- * exception.
+ private static final long serialVersionUID = 1L;
+ /**
+ * The requested component id that generated the exception.
*/
- private final String componentName;
+ private final String componentId;
/**
- * Create an exception for a single component name request.
- *
- * @param componentName
- * The name of the non-existent component.
+ * 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 componentName) {
- this.componentName = componentName;
+ public NoSuchComponentException(String msg, String id) {
+ super(msg);
+ this.componentId = id;
}
/**
- * Returns the component name that generated the exception.
- *
- * @return The String name of the component associated with an unresolved
- * request.
+ * Create a No Such Component Exception for a non-existent component.
+ *
+ * @param id The id of the non-existent component.
*/
- public String getComponentName() {
- return this.componentName;
+ public NoSuchComponentException(String id) {
+ super("No component with id '" + (id == null ? "<null>" : id)
+ + "' could be found");
+ this.componentId = id;
}
/**
- * Returns a human readable message associated with the exception.
- *
- * @return The descriptive message for the exception.
+ * Returns the id of the non-existent component.
+ *
+ * @return The id of the non-existent component.
*/
- public String getMessage() {
- return "No component named '" +
- (this.componentName == null ? "<null>" : this.componentName) +
- "' could be found";
+ public String getComponentId() {
+ return componentId;
}
}
Added: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/ReifiedType.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/ReifiedType.java (rev 0)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/ReifiedType.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -0,0 +1,128 @@
+/*
+ * 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;
+
+/**
+ * Provides access to a concrete type and its optional generic type parameters.
+ *
+ * <p>
+ * Java 5 and later support generic types. These types consist of a raw class
+ * with type parameters. This class models such a <code>Type</code> class but
+ * ensures that the type is <em>reified</em>. Reification means that the Type
+ * graph associated with a Java 5 <code>Type</code> 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.
+ *
+ * <p>
+ * 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 <code>Object</code>
+ * class for any requested type parameter.
+ *
+ * <p>
+ * A Blueprint extender implementations can subclass this class and provide
+ * access to the generic type parameter graph for conversion. Such a subclass
+ * must <em>reify</em> the different Java 5 <code>Type</code> 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: 7564 $
+ */
+ at SuppressWarnings("unchecked")
+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:
+ *
+ * <pre>
+ * Map<String, ? extends Metadata>
+ * </pre>
+ *
+ * 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 <code>i</code>.
+ *
+ * For example, in the following example:
+ *
+ * <pre>
+ * Map<String, ? extends Metadata>
+ * </pre>
+ *
+ * type parameter 0 is <code>String</code>, and type parameter 1 is
+ * <code>Metadata</code>.
+ *
+ * <p>
+ * This implementation returns a Reified Type that has <code>Object</code>
+ * 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 <code>ReifiedType</code> 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.
+ *
+ * <p>
+ * This implementation returns <code>0</code>. 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;
+ }
+}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/ServiceUnavailableException.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/ServiceUnavailableException.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/ServiceUnavailableException.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -18,54 +18,52 @@
import org.osgi.framework.ServiceException;
/**
- * Thrown when an invocation is made on an OSGi service reference component, and
- * a backing service is not available.
+ * 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;
-
- /**
+ private static final long serialVersionUID = 1L;
+ /**
* The filter string associated with the exception.
*/
- private final String filter;
+ private final String filter;
-
- /**
- * Creates a <code>ServiceUnavaiableException</code> with the specified message.
- *
- * @param message The associated message.
- * @param filterExpression
- * The filter expression used for the service lookup.
- */
- public ServiceUnavailableException(String message, String filterExpression) {
+ /**
+ * 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 = filterExpression;
+ this.filter = filter;
}
-
/**
- * Creates a <code>ServiceUnavaiableException</code> with the specified message and
+ * Creates a Service Unavailable Exception with the specified message and
* exception cause.
- *
+ *
* @param message The associated message.
- * @param filterExpression
- * The filter expression used for the service lookup.
+ * @param filter The filter used for the service lookup.
* @param cause The cause of this exception.
*/
- public ServiceUnavailableException(String message, String filterExpression, Throwable cause) {
+ public ServiceUnavailableException(String message, String filter,
+ Throwable cause) {
super(message, UNREGISTERED, cause);
- this.filter = filterExpression;
+ 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 expression.
+ * 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;
}
}
-
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/package.html
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/package.html 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/package.html 2009-07-16 14:16:10 UTC (rev 91345)
@@ -1,6 +1,6 @@
-<!-- $Revision: 5654 $ -->
+<!-- $Revision: 7556 $ -->
<BODY>
-<p>Blueprint Service Container Package Version 1.0.</p>
+<p>Blueprint Container Package Version 1.0.</p>
<p>Bundles wishing to use this package must list the package
in the Import-Package header of the bundle's manifest.
For example:</p>
@@ -8,14 +8,14 @@
Import-Package: org.osgi.service.blueprint.container; version="[1.0,2.0)"
</pre>
<p>
- This package defines the primary interface to a blueprint container,
+ This package defines the primary interface to a Blueprint Container,
<code>BlueprintContainer</code>. An instance of this type is available
- inside a blueprint context as an implicitly defined component with name
- "blueprintContainer".
+ inside a Blueprint Container as an implicitly defined component with the name
+ "blueprintContainer".
</p>
<p>
- This package also declares the supporting exception types, listener, and constants for working with a blueprint
- container.
+ This package also declares the supporting exception types, listener, and constants for working with a Blueprint
+ Container.
</p>
</BODY>
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/packageinfo
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/packageinfo 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/container/packageinfo 2009-07-16 14:16:10 UTC (rev 91345)
@@ -1 +1 @@
-version 1.0
+version 1.0
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/BeanArgument.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/BeanArgument.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/BeanArgument.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -16,43 +16,47 @@
package org.osgi.service.blueprint.reflect;
/**
- * Metadata used in a Bean Component to inject arguments in a method or
- * constructor. This metadata class describes the <code>argument</element>
+ * 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 the <code>argument</code> elements of a bean.
+ *
+ * @ThreadSafe
+ * @version $Revision$
*/
public interface BeanArgument {
/**
- * The metadata for the value to inject into the parameter.
- *
- * This is the <code>value</code> attribute.
- *
- * @return the metadata for the value
+ * Return the Metadata for the argument value.
+ *
+ * This is specified by the <code>value</code> attribute.
+ *
+ * @return The Metadata for the argument value.
*/
Metadata getValue();
/**
- * The type to convert the value into when invoking the constructor or
- * factory method. If no explicit type was specified on the component
- * definition then this method returns null.
- *
- * This is the <code>type</code> attribute.
- *
- * @return the explicitly specified type to convert the value into, or null
- * if no type was specified in the component definition.
+ * 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 <code>type</code> attribute.
+ *
+ * @return The name of the value type to convert the value into, or
+ * <code>null</code> if no type is specified.
*/
String getValueType();
/**
- * The (zero-based) index into the parameter list of the method or
- * constructor to be invoked for this parameter. This is determined either
- * by explicitly specifying the index attribute in the component
- * declaration, or by declaration order of constructor-arg elements if the
- * index was not explicitly set.
- *
- * This is the <code>index</code> attribute.
- *
- *
- * @return the zero-based parameter index
+ * 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 <code>index</code> 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 <code>index</code> attribute.
+ *
+ * @return The zero-based index of the parameter, or -1 if no index is
+ * specified.
*/
int getIndex();
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/BeanMetadata.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/BeanMetadata.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/BeanMetadata.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -18,112 +18,126 @@
import java.util.List;
/**
- * Metadata for a Bean Component.
- *
- * This class describes a <code>bean</code> element.
+ * Metadata for a Bean component.
+ *
+ * <p>
+ * This is specified by the <code>bean</code> element.
+ *
+ * @ThreadSafe
+ * @version $Revision$
*/
public interface BeanMetadata extends Target, ComponentMetadata {
- static final String SCOPE_SINGLETON = "singleton";
- static final String SCOPE_PROTOTYPE = "prototype";
+ /**
+ * The bean has <code>singleton</code> scope.
+ *
+ * @see #getScope()
+ */
+ static final String SCOPE_SINGLETON = "singleton";
/**
- * The name of the class type specified for this component.
- *
- * This is the <code>class</code> attribute.
- *
- * @return the name of the component class. If no class was specified in the
- * component definition (because the a factory component is used
- * instead) then this method will return null.
+ * The bean has <code>prototype</code> scope.
+ *
+ * @see #getScope()
*/
+ static final String SCOPE_PROTOTYPE = "prototype";
+
+ /**
+ * Return the name of the class specified for the bean.
+ *
+ * This is specified by the <code>class</code> 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 <code>null</code>.
+ */
String getClassName();
/**
- * The name of the init method specified for this component, if any.
- *
- * This is the <code>init-method</code> attribute.
- *
- * @return the method name of the specified init method, or null if no init
- * method was specified.
+ * Return the name of the init method specified for the bean.
+ *
+ * This is specified by the <code>init-method</code> attribute of the bean
+ * definition.
+ *
+ * @return The name of the init method specified for the bean, or
+ * <code>null</code> if no init method is specified.
*/
String getInitMethod();
/**
- * The name of the destroy method specified for this component, if any.
- *
- * This is the <code>destroy-method</code> attribute.
- *
- * @return the method name of the specified destroy method, or null if no
- * destroy method was specified.
+ * Return the name of the destroy method specified for the bean.
+ *
+ * This is specified by the <code>destroy-method</code> attribute of the
+ * bean definition.
+ *
+ * @return The name of the destroy method specified for the bean, or
+ * <code>null</code> if no destroy method is specified.
*/
String getDestroyMethod();
/**
- * The arguments for the factory method or constructor.
- *
- * Specified in all the child <code>argument<code> elements.
- *
- * @return The metadata for the factory method or constructor. Can be empty if no arguments are specified
+ * Return the arguments for the factory method or constructor of the bean.
+ *
+ * This is specified by the child <code>argument<code> 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.
*/
List<BeanArgument> getArguments();
/**
- * The property injection metadata for this component.
- *
- * Specified in all the child <code>property</code> elements.
- *
- * @return an immutable collection of BeanProperty, with one
- * entry for each property to be injected. If no property injection
- * was specified for this component then an empty collection will be
- * returned.
- *
+ * Return the properties for the bean.
+ *
+ * This is specified by the child <code>property</code> 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.
+ *
*/
List<BeanProperty> getProperties();
/**
- * Provides the name of the optional factory method.
- *
- * This is the <code>factory-method</code> attribute.
- *
- * @return The name of the factory method or <code>null</code>.
+ * Return the name of the factory method for the bean.
+ *
+ * This is specified by the <code>factory-method</code> attribute of the
+ * bean.
+ *
+ * @return The name of the factory method of the bean or <code>null</code>
+ * if no factory method is specified for the bean.
*/
String getFactoryMethod();
/**
- * The component instance on which to invoke the factory method (if
- * specified).
- *
- * The component is defined in the <code>factory-component</code>.
- *
- * @return when a factory method and factory component has been specified
- * for this component, this operation returns the metadata
- * specifying the component on which the factory method is to be
- * invoked. When no factory component has been specified this
- * operation will return null. A return value of null with a
- * non-null factory method indicates that the factory method should
- * be invoked as a static method on the component class itself. For
- * a non-null return value, the Metadata object returned will be a
- * RefMetadata or a TargetComponentMetadata instance.
+ * Return the Metadata for the factory component on which to invoke the
+ * factory method for the bean.
+ *
+ * This is specified by the <code>factory-ref</code> attribute of the bean.
+ *
+ * <p>
+ * 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 <code>null</code>.
+ *
+ * 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 <code>null</code> if no factory
+ * component is specified.
*/
Target getFactoryComponent();
/**
- * The specified scope for the component lifecycle.
- *
- * @return a String indicating the scope specified for the component.
- *
+ * Return the scope for the bean.
+ *
+ * @return The scope for the bean.
* @see #SCOPE_SINGLETON
* @see #SCOPE_PROTOTYPE
*/
String getScope();
-
- /**
- * Provide an actual class, this overrides the class name if set. This is
- * useful for Namespace Handler services that do not want to force the
- * Blueprint bundle to import implementation classes.
- *
- * @return Return the class to use in runtime or <code>null</code>.
- */
-
- Class<?> getRuntimeClass();
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/BeanProperty.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/BeanProperty.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/BeanProperty.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -16,26 +16,33 @@
package org.osgi.service.blueprint.reflect;
/**
- * Metadata describing a property to be injected. Properties are defined
- * following JavaBeans conventions.
+ * 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 <code>property</code> elements of a bean. Properties
+ * are defined according to the Java Beans conventions.
+ *
+ * @ThreadSafe
+ * @version $Revision$
*/
public interface BeanProperty {
/**
- * The name of the property to be injected, following JavaBeans conventions.
- *
- * Defined in the <code>name</code> attribute.
- *
- * @return the property name.
+ * Return the name of the property to be injected. The name follows Java
+ * Beans conventions.
+ *
+ * This is specified by the <code>name</code> attribute.
+ *
+ * @return The name of the property to be injected.
*/
String getName();
/**
- * The metadata for the value to inject the property with.
- *
- * Defined in the <code>value</code> attribute or inlined component.
- *
- * @return the metadata for the property value.
+ * Return the Metadata for the value to be injected into a bean.
+ *
+ * This is specified by the <code>value</code> attribute or in inlined text.
+ *
+ * @return The Metadata for the value to be injected into a bean.
*/
Metadata getValue();
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/CollectionMetadata.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/CollectionMetadata.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/CollectionMetadata.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -18,32 +18,40 @@
import java.util.List;
/**
- * Metadata for a collection based value. Members of the array are instances of Metadata.
- * The Collection metadata can constrain to a specific type.
+ * 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 {
/**
- * Provide the interface that this collection must implement.
- *
- * This is used for Arrays (Object[]), Set, and List. This information
- * is encoded in the element name.
- *
- *
- * @return The interface class that the collection must implement.
+ * Return the type of the collection.
+ *
+ * The possible types are: array (<code>Object[]</code>), <code>Set</code>,
+ * and <code>List</code>. This information is specified in the element name.
+ *
+ * @return The type of the collection. <code>Object[]</code> is returned to
+ * indicate an array.
*/
Class<?> getCollectionClass();
- /**
- * The value-type specified for the array
- *
- * The <code>value-type</code> attribute.
- */
+ /**
+ * Return the type specified for the values of the collection.
+ *
+ * The <code>value-type</code> attribute specified this information.
+ *
+ * @return The type specified for the values of the collection.
+ */
String getValueType();
- /**
- * The of Metadata objects that describe the value.
- */
+ /**
+ * Return Metadata for the values of the collection.
+ *
+ * @return A List of Metadata for the values of the collection.
+ */
List<Metadata> getValues();
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ComponentMetadata.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ComponentMetadata.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ComponentMetadata.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -18,51 +18,58 @@
import java.util.List;
/**
- * Base class for all components.
- *
- * @see BeanMetadata
- * @see ServiceReferenceMetadata
- * @see ServiceMetadata
+ * Metadata for managed components. This is the base type for
+ * {@link BeanMetadata}, {@link ServiceMetadata} and
+ * {@link ServiceReferenceMetadata}.
+ *
+ * @ThreadSafe
+ * @version $Revision$
*/
public interface ComponentMetadata extends NonNullMetadata {
/**
- * The component will be eagerly instanciated
+ * The component's manager must eagerly activate the component.
+ *
+ * @see #getActivation()
*/
- static final int INITIALIZATION_EAGER = 1;
+ static final int ACTIVATION_EAGER = 1;
/**
- * The component will be lazily instanciated
- */
- static final int INITIALIZATION_LAZY = 2;
+ * The component's manager must lazily activate the component.
+ *
+ * @see #getActivation()
+ */
+ static final int ACTIVATION_LAZY = 2;
/**
- * The id of the component.
- *
- * @return component id. The component id can be <code>null</code> if this is an anonymously
- * defined inner component.
+ * Return the id of the component.
+ *
+ * @return The id of the component. The component id can be
+ * <code>null</code> if this is an anonymously defined and/or
+ * inlined component.
*/
String getId();
/**
- * Is this component to be lazily instantiated?
- *
- * This is the <code>initialization</code> attribute or the
- * <code>default-initialization</code> in the <code>blueprint</code> element
- * if not set.
- *
- * @return the initialization method
- * @see #INITIALIZATION_EAGER
- * @see #INITIALIZATION_LAZY
- */
- int getInitialization();
+ * Return the activation strategy for the component.
+ *
+ * This is specified by the <code>activation</code> attribute of a component
+ * definition. If this is not set, then the <code>default-activation</code>
+ * in the <code>blueprint</code> 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();
- /**
- * The names of any components listed in a "depends-on" attribute for this
- * component.
- *
- * @return an immutable List of component names for components that we have explicitly
- * declared a dependency on, or an empty set if none.
- */
- List<String> getDependsOn();
+ /**
+ * Return the ids of any components listed in a <code>depends-on</code>
+ * attribute for the component.
+ *
+ * @return An immutable List of component ids that are explicitly declared
+ * as a dependency, or an empty List if none.
+ */
+ List<String> getDependsOn();
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/IdRefMetadata.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/IdRefMetadata.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/IdRefMetadata.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -16,15 +16,21 @@
package org.osgi.service.blueprint.reflect;
/**
- * A value which represents the name of another component in the module context.
- * The name itself will be injected, not the component that the name refers to.
- *
+ * Metadata for the verified id of another component managed by the Blueprint
+ * Container. The id itself will be injected, not the component to which the id
+ * refers. No implicit dependency is created.
+ *
+ * @ThreadSafe
+ * @version $Revision$
*/
public interface IdRefMetadata extends NonNullMetadata {
/**
- * The name of the referenced component.
- * Defined in the <code>component-id</code> attribute.
- *
+ * Return the id of the referenced component.
+ *
+ * This is specified by the <code>component-id</code> attribute of a
+ * component.
+ *
+ * @return The id of the referenced component.
*/
String getComponentId();
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/MapEntry.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/MapEntry.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/MapEntry.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -17,30 +17,32 @@
package org.osgi.service.blueprint.reflect;
/**
- * Metadata for an entry. An entry is the member of a MapMetadata so that it
- * can be treated as a CollectionMetadata with entries.
- *
- * Defined in the <code>entry</code> element.
- *
+ * Metadata for a map entry.
+ *
+ * This type is used by {@link MapMetadata}, {@link PropsMetadata} and
+ * {@link ServiceMetadata}.
+ *
+ * @ThreadSafe
+ * @version $Revision$
*/
public interface MapEntry {
/**
- * Keys must be non-null.
- *
- * Defined in the <code>key</code> attribute or element.
- *
- * @return the metadata for the key
+ * Return the Metadata for the key of the map entry.
+ *
+ * This is specified by the <code>key</code> attribute or element.
+ *
+ * @return The Metadata for the key of the map entry. This must not be
+ * <code>null</code>.
*/
- // [TDI] NonNullMetadata getKey();
- String getKey();
+ NonNullMetadata getKey();
/**
- * Return the metadata for the value.
- *
- * Defined in the <code>value</code> attribute or element<.
- *
- * @return the metadata for the value
+ * Return the Metadata for the value of the map entry.
+ *
+ * This is specified by the <code>value</code> attribute or element.
+ *
+ * @return The Metadata for the value of the map entry. This must not be
+ * <code>null</code>.
*/
- // [TDI] Metadata getValue();
- String getValue();
+ Metadata getValue();
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/MapMetadata.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/MapMetadata.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/MapMetadata.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -18,28 +18,41 @@
import java.util.List;
/**
- * A map-based value. This represented as a collection of entries (as it is done in the schema).
- *
- * A map is defined in the <code>map</code> element.
- *
+ * Metadata for a Map based value.
+ *
+ * <p>
+ * This is specified by the <code>map</code> element.
+ *
+ * @ThreadSafe
+ * @version $Revision$
*/
public interface MapMetadata extends NonNullMetadata {
/**
- * The key-type specified for map keys, or null if none given
- *
- * Defined in the <code>key-type</code> attribute.
+ * Return the name of the type of the map keys.
+ *
+ * This is specified by the <code>key-type</code> attribute of the map.
+ *
+ * @return The name of the type of the map keys, or <code>null</code> if
+ * none is specified.
*/
String getKeyType();
- /**
- * The value-type specified for the array
- *
- * The <code>value-type</code> attribute.
- */
+ /**
+ * Return the name of the type of the map values.
+ *
+ * This is specified by the <code>value-type</code> attribute of the map.
+ *
+ * @return The name of the type of the map values, or <code>null</code> if
+ * none is specified.
+ */
String getValueType();
- /**
- * The of Metadata objects that describe the value.
- */
+ /**
+ * 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.
+ */
List<MapEntry> getEntries();
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/Metadata.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/Metadata.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/Metadata.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -16,9 +16,11 @@
package org.osgi.service.blueprint.reflect;
/**
- * Top level metadata. This represents any possible value.
- *
+ * Top level Metadata type. All Metdata types extends this base type.
+ *
+ * @ThreadSafe
+ * @version $Revision$
*/
public interface Metadata {
-
+ // marker interface
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/NonNullMetadata.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/NonNullMetadata.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/NonNullMetadata.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -16,9 +16,16 @@
package org.osgi.service.blueprint.reflect;
/**
- * Base interfaces for metadata that cannot be null. The NullMetadata is the
- * only element not implementing this. Mainly used for keys in maps because they
- * cannot be null.
+ * Metadata for a value that cannot <code>null</code>. All Metadata subtypes
+ * extend this type except for {@link NullMetadata}.
+ *
+ * <p>
+ * This Metadata type is used for keys in Maps because they cannot be
+ * <code>null</code>.
+ *
+ * @ThreadSafe
+ * @version $Revision$
*/
public interface NonNullMetadata extends Metadata {
+ // marker interface
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/NullMetadata.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/NullMetadata.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/NullMetadata.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -16,12 +16,18 @@
package org.osgi.service.blueprint.reflect;
/**
- * A value specified to be null via the <null/> element.
+ * Metadata for a value specified to be <code>null</code> via the <null>
+ * element.
+ *
+ * @ThreadSafe
+ * @version $Revision$
*/
public interface NullMetadata extends Metadata {
/**
- * Singleton instance of the NULL metadata.
+ * Singleton instance of <code>NullMetadata</code>.
*/
- static final NullMetadata NULL = new NullMetadata() {};
+ static final NullMetadata NULL = new NullMetadata() {
+ // empty body
+ };
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/PropsMetadata.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/PropsMetadata.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/PropsMetadata.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -18,20 +18,26 @@
import java.util.List;
/**
- * A java.util.Properties based value. The properties are defined as string to
- * string. This means that the actual value can be returned.
- *
- * Defined in the <code>props</code> element.
- *
+ * Metadata for a <code>java.util.Properties</code> based value.
+ *
+ * <p>
+ * The {@link MapEntry} objects of properties are defined with keys and values
+ * of type <code>String</code>.
+ *
+ * <p>
+ * This is specified by the <code>props</code> element.
+ *
+ * @ThreadSafe
+ * @version $Revision$
*/
public interface PropsMetadata extends NonNullMetadata {
/**
- * This is the same as getValuesMetadata but more type safe.
- *
- * Defined in <code>prop</code> sub elements.
- *
- * @return
+ * 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.
*/
List<MapEntry> getEntries();
}
Deleted: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/RefListMetadata.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/RefListMetadata.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/RefListMetadata.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -1,46 +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;
-
-/**
- * Service reference that binds to a collection of matching services from the
- * OSGi service registry. This is the <code>ref-list</code> or
- * <code>ref-set</code> element.
- *
- */
-public interface RefListMetadata extends ServiceReferenceMetadata {
-
- /**
- * Use the service objects to compare or include in the collection
- */
- public static final int USE_SERVICE_OBJECT = 1;
-
- /**
- * Use the service references to compare or include in the collection
- */
- public static final int USE_SERVICE_REFERENCE = 2;
-
- /**
- * Whether the collection will contain service objects, or service
- * references
- * Defined in the <code>member-type</code> attribute.
- *
- * @return one of USE_SERVICE_OBJECT and USE_SERVICE_REFERENCE
- * @see #USE_SERVICE_OBJECT
- * @see #USE_SERVICE_REFERENCE
- */
- int getMemberType();
-}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/RefMetadata.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/RefMetadata.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/RefMetadata.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -16,13 +16,20 @@
package org.osgi.service.blueprint.reflect;
/**
- * A value which refers to another component in the module context by name.
+ * Metadata for a reference to another component managed by the Blueprint
+ * Container.
+ *
+ * @ThreadSafe
+ * @version $Revision$
*/
public interface RefMetadata extends Target, NonNullMetadata {
/**
- * The name of the referenced component.
- * Defined in the <code>component-id</code> attribute.
- *
+ * Return the id of the referenced component.
+ *
+ * This is specified by the <code>component-id</code> attribute of a
+ * component.
+ *
+ * @return The id of the referenced component.
*/
String getComponentId();
}
Added: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListMetadata.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListMetadata.java (rev 0)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListMetadata.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ *
+ * <p>
+ * This is specified by the <code>reference-list</code> element.
+ *
+ * @ThreadSafe
+ * @version $Revision: 7563 $
+ */
+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 <code>ServiceReference</code> objects.
+ *
+ * @see #getMemberType()
+ */
+ static final int USE_SERVICE_REFERENCE = 2;
+
+ /**
+ * Return whether the List will contain service object proxies or
+ * <code>ServiceReference</code> objects.
+ *
+ * This is specified by the <code>member-type</code> attribute of the
+ * reference list.
+ *
+ * @return Whether the List will contain service object proxies or
+ * <code>ServiceReference</code> objects.
+ * @see #USE_SERVICE_OBJECT
+ * @see #USE_SERVICE_REFERENCE
+ */
+ int getMemberType();
+}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListener.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListener.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListener.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -16,36 +16,45 @@
package org.osgi.service.blueprint.reflect;
/**
- * Metadata for a listener interested in service bind and unbind events for a service
- * reference.
+ * Metadata for a reference listener interested in the reference bind and unbind
+ * events for a service reference.
+ *
+ * @ThreadSafe
+ * @version $Revision$
*/
public interface ReferenceListener {
/**
- * The component instance that will receive bind and unbind
- * events. The returned value must reference a TargetListenerComponent
- * either directly or indirectly. The return type will be either
- * a RefMetadata instance or an TargetListenerComponent instance.
- *
- * Defined in the <code>ref</code> attribute or inlined component.
- *
- * @return the listener component reference.
+ * Return the Metadata for the component that will receive bind and unbind
+ * events.
+ *
+ * This is specified by the <code>ref</code> attribute or via an inlined
+ * component.
+ *
+ * @return The Metadata for the component that will receive bind and unbind
+ * events.
*/
Target getListenerComponent();
/**
- * The name of the method to invoke on the listener component when
- * a matching service is bound to the reference
- *
- * @return the bind callback method name.
+ * 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 <code>bind-method</code> attribute of the
+ * reference listener.
+ *
+ * @return The name of the bind method.
*/
String getBindMethod();
/**
- * The name of the method to invoke on the listener component when
- * a service is unbound from the reference.
- *
- * @return the unbind callback method name.
+ * 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 <code>unbind-method</code> attribute of the
+ * reference listener.
+ *
+ * @return The name of the unbind method.
*/
String getUnbindMethod();
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ReferenceMetadata.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ReferenceMetadata.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ReferenceMetadata.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -16,21 +16,25 @@
package org.osgi.service.blueprint.reflect;
/**
- *
- * Service reference that will bind to a single matching service in the service
- * registry.
- *
- * Defines the <code>reference</code> element.
- *
+ * Metadata for a reference that will bind to a single matching service in the
+ * service registry.
+ *
+ * <p>
+ * This is specified by the <code>reference</code> element.
+ *
+ * @ThreadSafe
+ * @version $Revision$
*/
-public interface ReferenceMetadata extends ServiceReferenceMetadata, Target {
+public interface ReferenceMetadata extends Target, ServiceReferenceMetadata {
/**
- * Timeout for service invocations when a matching backing service is
+ * Return the timeout for service invocations when a backing service is is
* unavailable.
- * Defined in the <code>timeout</code> attribute.
- *
- * @return service invocation timeout in milliseconds
+ *
+ * This is specified by the <code>timeout</code> attribute of the reference.
+ *
+ * @return The timeout, in milliseconds, for service invocations when a
+ * backing service is is unavailable.
*/
long getTimeout();
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/RegistrationListener.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/RegistrationListener.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/RegistrationListener.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -16,41 +16,51 @@
package org.osgi.service.blueprint.reflect;
/**
- * Metadata for a listener interested in service registration and unregistration
- * events for an exported service.
+ * Metadata for a registration listener interested in service registration and
+ * unregistration events for a service.
+ *
+ * <p>
+ * The registration listener is called with the initial state of the service
+ * when the registration listener is actuated.
+ *
+ * @ThreadSafe
+ * @version $Revision$
*/
public interface RegistrationListener {
/**
- * The component instance that will receive registration and unregistration
- * events. The returned value must reference a TargetListenerComponent
- * either directly or indirectly. The return type will be either
- * a RefMetadata instance or an TargetListenerComponent instance.
- *
- * Defined in the <code>listener</code> child element.
- *
- * @return the listener component reference.
+ * Return the Metadata for the component that will receive registration and
+ * unregistration events.
+ *
+ * This is specified by the <code>ref</code> attribute or via an inlined
+ * component.
+ *
+ * @return The Metadata for the component that will receive registration and
+ * unregistration events.
*/
Target getListenerComponent();
/**
- * The name of the method to invoke on the listener component when
- * the exported service is registered with the service registry.
- *
- * Defined in the <code>registration-method</code> attribute.
- *
- * @return the registration callback method name.
+ * 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 <code>registration-method</code> attribute of
+ * the registration listener.
+ *
+ * @return The name of the registration method.
*/
String getRegistrationMethod();
/**
- * The name of the method to invoke on the listener component when
- * the exported service is unregistered from the service registry.
- *
- * Defined in the <code>unregistration-method</code> attribute.
- *
- * @return the unregistration callback method name.
+ * 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 <code>unregistration-method</code> attribute of
+ * the registration listener.
+ *
+ * @return The name of the unregistration method.
*/
String getUnregistrationMethod();
-
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ServiceMetadata.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ServiceMetadata.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ServiceMetadata.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -18,91 +18,121 @@
import java.util.Collection;
import java.util.List;
-
/**
- * Metadata representing a service to be exported by a module context.
- *
+ * Metadata for a service to be registered by the Blueprint Container when
+ * enabled.
+ *
+ * <p>
+ * This is specified by the <code>service</code> element.
+ *
+ * @ThreadSafe
+ * @version $Revision$
*/
-public interface ServiceMetadata extends ComponentMetadata, Target {
+public interface ServiceMetadata extends ComponentMetadata {
/**
- * Do not auto-detect types for advertised service intefaces
+ * Do not auto-detect types for advertised service interfaces
+ *
+ * @see #getAutoExport()
*/
- public static final int AUTO_EXPORT_DISABLED = 1;
+ static final int AUTO_EXPORT_DISABLED = 1;
/**
- * Advertise all Java interfaces implemented by the exported component as
- * service interfaces.
+ * Advertise all Java interfaces implemented by the component instance type
+ * as service interfaces.
+ *
+ * @see #getAutoExport()
*/
- public static final int AUTO_EXPORT_INTERFACES= 2;
+ static final int AUTO_EXPORT_INTERFACES = 2;
/**
- * Advertise all Java classes in the hierarchy of the exported component's type
- * as service interfaces.
+ * Advertise all Java classes in the hierarchy of the component instance
+ * type as service interfaces.
+ *
+ * @see #getAutoExport()
*/
- public static final int AUTO_EXPORT_CLASS_HIERARCHY = 3;
+ static final int AUTO_EXPORT_CLASS_HIERARCHY = 3;
/**
- * Advertise all Java classes and interfaces in the exported component's type as
- * service interfaces.
+ * Advertise all Java classes and interfaces in the component instance type
+ * as service interfaces.
+ *
+ * @see #getAutoExport()
*/
- public static final int AUTO_EXPORT_ALL_CLASSES = 4;
+ static final int AUTO_EXPORT_ALL_CLASSES = 4;
/**
- * The component that is to be exported as a service. Value must refer to a component and
- * therefore be either a RefMetadata, BeanMetadata, or ReferenceMetadata.
- *
- * Defined in the <code>registration-method</code> attribute.
- *
- * @return the component to be exported as a service.
+ * Return the Metadata for the component to be exported as a service.
+ *
+ * This is specified inline or via the <code>ref</code> attribute of the
+ * service.
+ *
+ * @return The Metadata for the component to be exported as a service.
*/
Target getServiceComponent();
/**
- * The type names of the set of interface types that the service should be advertised
- * as supporting, as specified in the component declaration.
- *
- * Defined in the <code>interface</code> attribute or <code>interfaces</code> element.
- *
- * @return an immutable set of (String) type names, or an empty set if using auto-export
+ * Return the type names of the interfaces that the service should be
+ * advertised as supporting.
+ *
+ * This is specified in the <code>interface</code> attribute or child
+ * <code>interfaces</code> element of the service.
+ *
+ * @return An immutable List of <code>String</code> for the type names of
+ * the interfaces that the service should be advertised as
+ * supporting. The List is empty if using <code>auto-export</code>
+ * or no interface names are specified for the service.
*/
List<String> getInterfaces();
/**
- * Return the auto-export mode specified.
- *
- * Defined in the <code>auto-export</code> attribute.
- *
- * @return One of AUTO_EXPORT_DISABLED, AUTO_EXPORT_INTERFACES, AUTO_EXPORT_CLASS_HIERARCHY, AUTO_EXPORT_ALL_CLASSES
+ * Return the auto-export mode for the service.
+ *
+ * This is specified by the <code>auto-export</code> 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();
/**
- * The user declared properties to be advertised with the service.
- *
- * Defined in the <code>service-properties</code> element.
- *
- * @return Map containing the set of user declared service properties (may be
- * empty if no properties were specified).
+ * Return the user declared properties to be advertised with the service.
+ *
+ * This is specified by the <code>service-properties</code> 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.
*/
List<MapEntry> getServiceProperties();
/**
- * The ranking value to use when advertising the service
- *
- * Defined in the <code>ranking</code> attribute.
- *
- * @return service ranking
+ * Return the ranking value to use when advertising the service. If the
+ * ranking value is zero, the service must be registered without a
+ * <code>service.ranking</code> service property.
+ *
+ * This is specified by the <code>ranking</code> attribute of the service.
+ *
+ * @return The ranking value to use when advertising the service.
*/
int getRanking();
/**
- * The listeners that have registered to be notified when the exported service
- * is registered and unregistered with the framework.
- *
- * Defined in the <code>registration-listener</code> elements.
- *
- * @return an immutable collection of RegistrationListenerMetadata
+ * Return the registration listeners to be notified when the service is
+ * registered and unregistered with the framework.
+ *
+ * This is specified by the <code>registration-listener</code> 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.
*/
Collection<RegistrationListener> getRegistrationListeners();
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ServiceReferenceMetadata.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ServiceReferenceMetadata.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ServiceReferenceMetadata.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -17,70 +17,86 @@
import java.util.Collection;
-
/**
- * Metadata describing a reference to a service that is to be imported into the module
- * context from the OSGi service registry.
- *
+ * Metadata for a reference to an OSGi service. This is the base type for
+ * {@link ReferenceListMetadata} and {@link ReferenceMetadata}.
+ *
+ * @ThreadSafe
+ * @version $Revision$
*/
public interface ServiceReferenceMetadata extends ComponentMetadata {
/**
* A matching service is required at all times.
+ *
+ * @see #getAvailability()
*/
- public static final int AVAILABILITY_MANDATORY = 1;
+ static final int AVAILABILITY_MANDATORY = 1;
/**
* A matching service is not required to be present.
+ *
+ * @see #getAvailability()
*/
- public static final int AVAILABILITY_OPTIONAL = 2;
+ static final int AVAILABILITY_OPTIONAL = 2;
/**
- * Whether or not a matching service is required at all times.
- *
- * Defined in the <code>availibility</code> attribute.
- *
- * @return one of AVAILABILITY_MANDATORY or AVAILABILITY_OPTIONAL
+ * Return whether or not a matching service is required at all times.
+ *
+ * This is specified in the <code>availability</code> 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();
/**
- * The interface type that the matching service must support
- *
- * Defined in the <code>interface</code> attribute.
- * @return the String name of the requested service interface
+ * Return the name of the interface type that a matching service must
+ * support.
+ *
+ * This is specified in the <code>interface</code> attribute of the service
+ * reference.
+ *
+ * @return The name of the interface type that a matching service must
+ * support or <code>null</code> when no interface name is specified.
*/
String getInterface();
/**
- * The value of the component-name attribute, if specified. This specifies
- * the name of a component that is registered in the service registry. This will
- * create an automatic filter (appended wit the filter if set) to select this
- * component based on its automatic id attribute.
- *
- * Defined in the <code>component-name</code> attribute.
- *
- * @return the component name attribute value, or null if the attribute was not specified
+ * Return the value of the <code>component-name</code> 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 <code>id</code> attribute.
+ *
+ * @return The value of the <code>component-name</code> attribute of the
+ * service reference or <code>null</code> if the attribute is not
+ * specified.
*/
String getComponentName();
/**
- * The filter expression that a matching service must pass
- *
- * Defined in the <code>filter</code> attribute.
- *
- * @return filter expression
+ * Return the filter expression that a matching service must match.
+ *
+ * This is specified by the <code>filter</code> attribute of the service
+ * reference.
+ *
+ * @return The filter expression that a matching service must match or
+ * <code>null</code> if a filter is not specified.
*/
String getFilter();
/**
- * The set of listeners registered to receive bind and unbind events for
- * backing services.
- *
- * Defined in the <code>listener</code> elements.
- *
- * @return an immutable collection of ReferenceListener objects
+ * Return the reference listeners to receive bind and unbind events.
+ *
+ * This is specified by the <code>reference-listener</code> 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.
*/
Collection<ReferenceListener> getReferenceListeners();
-
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/Target.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/Target.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/Target.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -15,12 +15,18 @@
*/
package org.osgi.service.blueprint.reflect;
-
/**
- * Provides a common interface for components that can be used as a direct target
- * for method calls. These are bean, reference, and ref.
- *
+ * A common interface for managed components that can be used as a direct target
+ * for method calls. These are <code>bean</code>, <code>reference</code>, and
+ * <code>ref</code>, where the <code>ref</code> must refer to a bean or
+ * reference component.
+ *
+ * @see BeanMetadata
+ * @see ReferenceMetadata
+ * @see RefMetadata
+ * @ThreadSafe
+ * @version $Revision$
*/
-public interface Target extends Metadata {
-
+public interface Target extends NonNullMetadata {
+ // marker interface
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ValueMetadata.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ValueMetadata.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/ValueMetadata.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -16,23 +16,30 @@
package org.osgi.service.blueprint.reflect;
/**
- * A simple string value that will be type-converted if necessary before
- * injecting into a target.
- *
- * This class is representing the <code>value</code> element.
- *
+ * Metadata for a simple <code>String</code> value that will be type-converted
+ * if necessary before injecting.
+ *
+ * @ThreadSafe
+ * @version $Revision$
*/
public interface ValueMetadata extends NonNullMetadata {
/**
- * The string value (unconverted) of this value).
- *
- * Defined in the <code>value</code> attribute or text part.
+ * Return the unconverted string representation of the value.
+ *
+ * This is specified by the <code>value</code> attribute or text part of the
+ * <code>value</code> element.
+ *
+ * @return The unconverted string representation of the value.
*/
String getStringValue();
/**
- * The name of the type to which this value should be coerced. May be null.
- * Defined in the <code>type</code> attribute.
+ * Return the name of the type to which the value should be converted.
+ *
+ * This is specified by the <code>type</code> attribute.
+ *
+ * @return The name of the type to which the value should be converted or
+ * <code>null</code> if no type is specified.
*/
String getType();
}
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/package.html
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/package.html 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/package.html 2009-07-16 14:16:10 UTC (rev 91345)
@@ -1,4 +1,4 @@
-<!-- $Revision: 5654 $ -->
+<!-- $Revision: 7556 $ -->
<BODY>
<p>Blueprint Reflection Package Version 1.0.
<p>Bundles wishing to use this package must list the package
@@ -7,29 +7,8 @@
<pre>
Import-Package: org.osgi.service.blueprint.reflect; version="[1.0,2.0)"
</pre>
-<p> This package provides a reflection-based view of the configuration information for a given
- module context. The top-level mapping between configuration elements and reflection types is as follows:
+<p> This package provides a reflection-based view of the configuration information for a
+ Blueprint Container.
</p>
-
-<pre>
- Configuration Element Corresponding Reflection Type(s)
- bean BeanMetadata
- reference ReferenceMetadata
- ref-list RefListMetadata
- service ServiceMetadata
- argument BeanArgumentMetadata
- property BeanPropertyMetadata
- listener ListenerMetadata
- registration-listener RegistrationListenerMetadata
- array< CollectionMetadata
- ref RefMetadata
- id-ref IdrefMetadata
- list CollectionMetadata
- map MapMetadata
- null NullMetadata
- props PropsMetadata
- set CollectionMetadata
- value ValueMetadata
-<//pre>
</BODY>
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/packageinfo
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/packageinfo 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/impl/src/main/java/org/osgi/service/blueprint/reflect/packageinfo 2009-07-16 14:16:10 UTC (rev 91345)
@@ -1 +1 @@
-version 1.0
+version 1.0
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/testsuite/src/test/java/org/jboss/test/osgi/blueprint/container/BlueprintContainerTestCase.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/testsuite/src/test/java/org/jboss/test/osgi/blueprint/container/BlueprintContainerTestCase.java 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/testsuite/src/test/java/org/jboss/test/osgi/blueprint/container/BlueprintContainerTestCase.java 2009-07-16 14:16:10 UTC (rev 91345)
@@ -121,21 +121,6 @@
}
@Test
- public void getBundleContext() throws Exception
- {
- if (context == null)
- huskyBridge.run();
-
- assumeNotNull(context);
-
- BlueprintContainer bpContainer = getBlueprintContainer();
- BundleContext bndContext = bpContainer.getBundleContext();
-
- assertNotNull("BundleContext not null", bndContext);
- assertEquals("BundleContext equals", context, bndContext);
- }
-
- @Test
public void getComponent() throws Exception
{
if (context == null)
Modified: projects/jboss-osgi/trunk/reactor/bundles/blueprint/testsuite/src/test/resources/parser/blueprint-all-elements.xml
===================================================================
--- projects/jboss-osgi/trunk/reactor/bundles/blueprint/testsuite/src/test/resources/parser/blueprint-all-elements.xml 2009-07-16 13:51:40 UTC (rev 91344)
+++ projects/jboss-osgi/trunk/reactor/bundles/blueprint/testsuite/src/test/resources/parser/blueprint-all-elements.xml 2009-07-16 14:16:10 UTC (rev 91345)
@@ -1,6 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"
+<!--
+<blueprint default-activation="" default-activation="" default-availablility="" any="">
+ <description>
+ <type-converters>
+ <bean>
+ <reference>
+ <ref>
+ <any>
+ </type-converters>
+ <bean id="" activation="" depends-on="" class="" init-method="" destroy-method="" factory-method="" factory-ref="" scope="" any="">
+ <description>
+ <argument index="" type="" ref="" value="">
+ <description>
+ <service>
+ <reference-list>
+ <bean>
+ <reference>
+ <ref>
+ <any>
+ <idref>
+ <value>
+ <list>
+ <set>
+ <map>
+ <array>
+ <props>
+ <null>
+ </argument>
+ <property>
+ <any>
+ </bean>
+ <service id="" activation="" depends-on="" interface="" ref="" auto-export="" ranking="" any="">
+ <description>
+ <interfaces>
+ <value>
+ </interfaces>
+ <service-properties>
+ <entry key="" value="">
+ <service>
+ <reference-list>
+ <bean>
+ <reference>
+ <ref>
+ <any>
+ <idref>
+ <value>
+ <list>
+ <set>
+ <map>
+ <array>
+ <props>
+ <null>
+ </entry>
+ <any>
+ </service-properties>
+ <registration-listener ref="" registration-method="" unregistration-method="">
+ <bean>
+ <reference>
+ <ref>
+ <any>
+ </registration-listener>
+ <bean>
+ <reference>
+ <ref>
+ <any>
+ </service>
+ <reference id="" activation="" depends-on="" interface="" filter="" component-name="" availability="" any="" timeout="">
+ <description>
+ <reference-listener>
+ <any>
+ </reference>
+ <reference-list id="" activation="" depends-on="" interface="" filter="" component-name="" availability="" any="" timeout="" member-type="">
+ <description>
+ <reference-listener>
+ <any>
+ </reference-list>
+ <any>
+</blueprint>
+-->
+
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"
default-activation="eager" default-availability="mandatory" default-timeout="300000">
<description>blueprint description</description>
More information about the jboss-osgi-commits
mailing list