Class Loader

    • Field Detail

      • expectText

        protected boolean expectText
    • Constructor Detail

      • Loader

        protected Loader​(boolean expectText)
      • Loader

        protected Loader()
    • Method Detail

      • startElement

        public void startElement​(UnmarshallingContext.State state,
                                 TagName ea)
                          throws SAXException
        Called when the loader is activated, which is when a new start tag is seen and when the parent designated this loader as the child loader.

        The callee may change state.loader to designate another for the processing. It's the responsibility of the callee to forward the startElement event in such a case.

        Parameters:
        ea - info about the start tag. never null.
        Throws:
        SAXException
      • childElement

        public void childElement​(UnmarshallingContext.State state,
                                 TagName ea)
                          throws SAXException
        Called when this loaderis an active loaderand we see a new child start tag.

        The callee is expected to designate another loaderas a loaderthat processes this element, then it should also register a Receiver. The designated loaderwill become an active loader.

        The default implementation reports an error saying an element is unexpected.

        Throws:
        SAXException
      • reportUnexpectedChildElement

        protected final void reportUnexpectedChildElement​(TagName ea,
                                                          boolean canRecover)
                                                   throws SAXException
        Throws:
        SAXException
      • getExpectedChildElements

        public Collection<QName> getExpectedChildElements()
        Returns a set of tag names expected as possible child elements in this context.
      • getExpectedAttributes

        public Collection<QName> getExpectedAttributes()
        Returns a set of tag names expected as possible child elements in this context.
      • text

        public void text​(UnmarshallingContext.State state,
                         CharSequence text)
                  throws SAXException
        Called when this loaderis an active loaderand we see a chunk of text. The runtime makes sure that adjacent characters (even those separated by comments, PIs, etc) are reported as one event. IOW, you won't see two text event calls in a row.
        Throws:
        SAXException
      • handleGenericException

        protected static void handleGenericException​(Exception e)
                                              throws SAXException
        Last resort when something goes terribly wrong within the unmarshaller.
        Throws:
        SAXException