Package org.apache.felix.scr.impl.xml
Class XmlHandler
- java.lang.Object
-
- org.xml.sax.helpers.DefaultHandler
-
- org.apache.felix.scr.impl.xml.XmlHandler
-
- All Implemented Interfaces:
org.xml.sax.ContentHandler
,org.xml.sax.DTDHandler
,org.xml.sax.EntityResolver
,org.xml.sax.ErrorHandler
public class XmlHandler extends org.xml.sax.helpers.DefaultHandler
XML Parser for the component XML
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
firstElement
Flag for detecting the first element.protected boolean
isComponent
Flag for elements inside a component elementprivate org.osgi.framework.Bundle
m_bundle
private java.util.List<ComponentMetadata>
m_components
private ComponentMetadata
m_currentComponent
private ServiceMetadata
m_currentService
private boolean
m_globalDelayedKeepInstances
private boolean
m_globalObsoleteFactoryComponentFactory
private BundleLogger
m_logger
private PropertyMetadata
m_pendingFactoryProperty
private PropertyMetadata
m_pendingProperty
protected java.lang.String
overrideNamespace
Override namespace.private java.lang.StringBuilder
propertyBuilder
-
Constructor Summary
Constructors Constructor Description XmlHandler(org.osgi.framework.Bundle bundle, BundleLogger logger, boolean globalObsoleteFactoryComponentFactory, boolean globalDelayedKeepInstances)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
characters(char[] ch, int start, int length)
void
endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)
java.util.List<ComponentMetadata>
getComponentMetadataList()
Called to retrieve the service descriptorsprivate java.util.Properties
readPropertiesEntry(java.lang.String entryName)
Reads the name property file from the bundle owning this descriptor.void
startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attributes)
-
-
-
Field Detail
-
m_bundle
private final org.osgi.framework.Bundle m_bundle
-
m_logger
private final BundleLogger m_logger
-
m_globalObsoleteFactoryComponentFactory
private final boolean m_globalObsoleteFactoryComponentFactory
-
m_globalDelayedKeepInstances
private final boolean m_globalDelayedKeepInstances
-
m_currentComponent
private ComponentMetadata m_currentComponent
-
m_currentService
private ServiceMetadata m_currentService
-
m_components
private java.util.List<ComponentMetadata> m_components
-
m_pendingProperty
private PropertyMetadata m_pendingProperty
-
m_pendingFactoryProperty
private PropertyMetadata m_pendingFactoryProperty
-
propertyBuilder
private java.lang.StringBuilder propertyBuilder
-
firstElement
protected boolean firstElement
Flag for detecting the first element.
-
overrideNamespace
protected java.lang.String overrideNamespace
Override namespace.
-
isComponent
protected boolean isComponent
Flag for elements inside a component element
-
-
Constructor Detail
-
XmlHandler
public XmlHandler(org.osgi.framework.Bundle bundle, BundleLogger logger, boolean globalObsoleteFactoryComponentFactory, boolean globalDelayedKeepInstances)
-
-
Method Detail
-
getComponentMetadataList
public java.util.List<ComponentMetadata> getComponentMetadataList()
Called to retrieve the service descriptors- Returns:
- A list of service descriptors
-
startElement
public void startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attributes) throws org.xml.sax.SAXException
- Specified by:
startElement
in interfaceorg.xml.sax.ContentHandler
- Overrides:
startElement
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
org.xml.sax.SAXException
-
endElement
public void endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName) throws org.xml.sax.SAXException
- Specified by:
endElement
in interfaceorg.xml.sax.ContentHandler
- Overrides:
endElement
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
org.xml.sax.SAXException
-
characters
public void characters(char[] ch, int start, int length) throws org.xml.sax.SAXException
- Specified by:
characters
in interfaceorg.xml.sax.ContentHandler
- Overrides:
characters
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
org.xml.sax.SAXException
-
readPropertiesEntry
private java.util.Properties readPropertiesEntry(java.lang.String entryName) throws org.xml.sax.SAXException
Reads the name property file from the bundle owning this descriptor. All properties read from the properties file are added to the current component's property meta data list.- Parameters:
entryName
- The name of the bundle entry containing the propertes to be added. This must not benull
.- Throws:
org.xml.sax.SAXException
- If the entry name isnull
or no entry with the given name exists in the bundle or an error occurrs reading the properties file.
-
-