Class 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 Detail

      • m_bundle

        private final org.osgi.framework.Bundle m_bundle
      • m_globalObsoleteFactoryComponentFactory

        private final boolean m_globalObsoleteFactoryComponentFactory
      • m_globalDelayedKeepInstances

        private final boolean m_globalDelayedKeepInstances
      • 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 interface org.xml.sax.ContentHandler
        Overrides:
        startElement in class org.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 interface org.xml.sax.ContentHandler
        Overrides:
        endElement in class org.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 interface org.xml.sax.ContentHandler
        Overrides:
        characters in class org.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 be null.
        Throws:
        org.xml.sax.SAXException - If the entry name is null or no entry with the given name exists in the bundle or an error occurrs reading the properties file.