Class XmlPullParserFactory


  • public class XmlPullParserFactory
    extends java.lang.Object
    This class is used to create implementations of XML Pull Parser defined in XMPULL V1 API. The name of actual factory class will be determined based on several parameters. It works similar to JAXP but tailored to work in J2ME environments (no access to system properties or file system) so name of parser class factory to use and its class used for loading (no class loader - on J2ME no access to context class loaders) must be passed explicitly. If no name of parser factory was passed (or is null) it will try to find name by searching in CLASSPATH for META-INF/services/org.xmlpull.v1.XmlPullParserFactory resource that should contain a comma separated list of class names of factories or parsers to try (in order from left to the right). If none found, it will throw an exception.
    NOTE:In J2SE or J2EE environments, you may want to use newInstance(property, classLoaderCtx) where first argument is System.getProperty(XmlPullParserFactory.PROPERTY_NAME) and second is Thread.getContextClassLoader().getClass() .
    See Also:
    XmlPullParser
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.lang.String classNamesLocation  
      protected java.util.Hashtable features  
      protected java.util.Vector parserClasses  
      static java.lang.String PROPERTY_NAME
      Name of the system or midlet property that should be used for a system property containing a comma separated list of factory or parser class names (value: org.xmlpull.v1.XmlPullParserFactory).
      (package private) static java.lang.Class referenceContextClass
      used as default class to server as context class in newInstance()
      private static java.lang.String RESOURCE_NAME  
      protected java.util.Vector serializerClasses  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected XmlPullParserFactory()
      Protected constructor to be called by factory implementations.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean getFeature​(java.lang.String name)
      Return the current value of the feature with given name.
      boolean isNamespaceAware()
      Indicates whether or not the factory is configured to produce parsers which are namespace aware (it simply set feature XmlPullParser.FEATURE_PROCESS_NAMESPACES to true or false).
      boolean isValidating()
      Indicates whether or not the factory is configured to produce parsers which validate the XML content during parse.
      static XmlPullParserFactory newInstance()
      Create a new instance of a PullParserFactory that can be used to create XML pull parsers (see class description for more details).
      static XmlPullParserFactory newInstance​(java.lang.String classNames, java.lang.Class context)  
      XmlPullParser newPullParser()
      Creates a new instance of a XML Pull Parser using the currently configured factory features.
      XmlSerializer newSerializer()
      Creates a new instance of a XML Serializer.
      void setFeature​(java.lang.String name, boolean state)
      Set the features to be set when XML Pull Parser is created by this factory.
      void setNamespaceAware​(boolean awareness)
      Specifies that the parser produced by this factory will provide support for XML namespaces.
      void setValidating​(boolean validating)
      Specifies that the parser produced by this factory will be validating (it simply set feature XmlPullParser.FEATURE_VALIDATION to true or false).
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • referenceContextClass

        static final java.lang.Class referenceContextClass
        used as default class to server as context class in newInstance()
      • PROPERTY_NAME

        public static final java.lang.String PROPERTY_NAME
        Name of the system or midlet property that should be used for a system property containing a comma separated list of factory or parser class names (value: org.xmlpull.v1.XmlPullParserFactory).
        See Also:
        Constant Field Values
      • parserClasses

        protected java.util.Vector parserClasses
      • classNamesLocation

        protected java.lang.String classNamesLocation
      • serializerClasses

        protected java.util.Vector serializerClasses
      • features

        protected java.util.Hashtable features
    • Constructor Detail

      • XmlPullParserFactory

        protected XmlPullParserFactory()
        Protected constructor to be called by factory implementations.
    • Method Detail

      • setFeature

        public void setFeature​(java.lang.String name,
                               boolean state)
                        throws XmlPullParserException
        Set the features to be set when XML Pull Parser is created by this factory.

        NOTE: factory features are not used for XML Serializer.

        Parameters:
        name - string with URI identifying feature
        state - if true feature will be set; if false will be ignored
        Throws:
        XmlPullParserException
      • getFeature

        public boolean getFeature​(java.lang.String name)
        Return the current value of the feature with given name.

        NOTE: factory features are not used for XML Serializer.

        Parameters:
        name - The name of feature to be retrieved.
        Returns:
        The value of named feature. Unknown features are always returned as false
      • setNamespaceAware

        public void setNamespaceAware​(boolean awareness)
        Specifies that the parser produced by this factory will provide support for XML namespaces. By default the value of this is set to false.
        Parameters:
        awareness - true if the parser produced by this code will provide support for XML namespaces; false otherwise.
      • isNamespaceAware

        public boolean isNamespaceAware()
        Indicates whether or not the factory is configured to produce parsers which are namespace aware (it simply set feature XmlPullParser.FEATURE_PROCESS_NAMESPACES to true or false).
        Returns:
        true if the factory is configured to produce parsers which are namespace aware; false otherwise.
      • setValidating

        public void setValidating​(boolean validating)
        Specifies that the parser produced by this factory will be validating (it simply set feature XmlPullParser.FEATURE_VALIDATION to true or false). By default the value of this is set to false.
        Parameters:
        validating - - if true the parsers created by this factory must be validating.
      • isValidating

        public boolean isValidating()
        Indicates whether or not the factory is configured to produce parsers which validate the XML content during parse.
        Returns:
        true if the factory is configured to produce parsers which validate the XML content during parse; false otherwise.
      • newPullParser

        public XmlPullParser newPullParser()
                                    throws XmlPullParserException
        Creates a new instance of a XML Pull Parser using the currently configured factory features.
        Returns:
        A new instance of a XML Pull Parser.
        Throws:
        XmlPullParserException - if a parser cannot be created which satisfies the requested configuration.
      • newSerializer

        public XmlSerializer newSerializer()
                                    throws XmlPullParserException
        Creates a new instance of a XML Serializer.

        NOTE: factory features are not used for XML Serializer.

        Returns:
        A new instance of a XML Serializer.
        Throws:
        XmlPullParserException - if a parser cannot be created which satisfies the requested configuration.
      • newInstance

        public static XmlPullParserFactory newInstance()
                                                throws XmlPullParserException
        Create a new instance of a PullParserFactory that can be used to create XML pull parsers (see class description for more details).
        Returns:
        a new instance of a PullParserFactory, as returned by newInstance (null, null);
        Throws:
        XmlPullParserException