/** * Receives the root element and determines how to start * unmarshalling. */ @Override public void childElement(UnmarshallingContext.State state, TagName ea) throws SAXException { Loader loader = state.getContext().selectRootLoader(state,ea); if(loader!=null) { state.loader = loader; state.receiver = this; return; } // the registry doesn't know about this element. // try its xsi:type JaxBeanInfo beanInfo = XsiTypeLoader.parseXsiType(state, ea, null); if(beanInfo==null) { // we don't even know its xsi:type reportUnexpectedChildElement(ea,false); return; } state.loader = beanInfo.getLoader(null,false); state.prev.backup = new JAXBElement<Object>(ea.createQName(),Object.class,null); state.receiver = this; }
public void startElement(TagName tagName) throws SAXException { if(nsContext != null) { String tagNamePrefix = tagName.getPrefix().intern(); if(tagNamePrefix != "") { validator.startPrefixMapping(tagNamePrefix, nsContext.getNamespaceURI(tagNamePrefix)); } } validator.startElement(tagName.uri,tagName.local,tagName.getQname(),tagName.atts); next.startElement(tagName); }
@Override public void childElement(UnmarshallingContext.State state, TagName ea) throws SAXException { if(ea.matches(entryTag)) { state.setLoader(entryLoader); } else { super.childElement(state,ea); } }
/** * Gets the prefix. This is slow. * * @return can be "" but never null. */ public String getPrefix() { String qname = getQname(); int idx = qname.indexOf(':'); if(idx<0) return ""; else return qname.substring(0,idx); }
/** * Creates {@link QName}. */ public QName createQName() { return new QName(uri,local,getPrefix()); } }
public void endElement(TagName tagName ) throws SAXException { validator.endElement(tagName.uri,tagName.local,tagName.getQname()); next.endElement(tagName); }
/** * Creates {@link QName}. */ public QName createQName() { return new QName(uri,local,getPrefix()); } }
public void startElement(TagName tagName) throws SAXException { if(nsContext != null) { String tagNamePrefix = tagName.getPrefix().intern(); if(tagNamePrefix != "") { validator.startPrefixMapping(tagNamePrefix, nsContext.getNamespaceURI(tagNamePrefix)); } } validator.startElement(tagName.uri,tagName.local,tagName.getQname(),tagName.atts); next.startElement(tagName); }
@Override public void startElement(UnmarshallingContext.State state, TagName ea) throws SAXException { UnmarshallingContext context = state.getContext(); if (state.getTarget() == null) state.setTarget(new State(context)); State s = (State) state.getTarget(); try { s.declarePrefixes(context, context.getNewlyDeclaredPrefixes()); s.handler.startElement(ea.uri, ea.local, ea.getQname(), ea.atts); } catch (SAXException e) { context.handleError(e); throw e; } }
@Override public void childElement(UnmarshallingContext.State state, TagName ea) throws SAXException { if(ea.matches(keyTag)) { state.setLoader(keyLoader); state.setReceiver(keyReceiver); return; } if(ea.matches(valueTag)) { state.setLoader(valueLoader); state.setReceiver(valueReceiver); return; } super.childElement(state,ea); }
/** * Creates {@link QName}. */ public QName createQName() { return new QName(uri,local,getPrefix()); } }
/** * Receives the root element and determines how to start * unmarshalling. */ @Override public void childElement(UnmarshallingContext.State state, TagName ea) throws SAXException { Loader loader = state.getContext().selectRootLoader(state,ea); if(loader!=null) { state.loader = loader; state.receiver = this; return; } // the registry doesn't know about this element. // try its xsi:type JaxBeanInfo beanInfo = XsiTypeLoader.parseXsiType(state, ea, null); if(beanInfo==null) { // we don't even know its xsi:type reportUnexpectedChildElement(ea,false); return; } state.loader = beanInfo.getLoader(null,false); state.prev.backup = new JAXBElement<Object>(ea.createQName(),Object.class,null); state.receiver = this; }
public void startElement(TagName tagName) throws SAXException { if(nsContext != null) { String tagNamePrefix = tagName.getPrefix().intern(); if(tagNamePrefix != "") { validator.startPrefixMapping(tagNamePrefix, nsContext.getNamespaceURI(tagNamePrefix)); } } validator.startElement(tagName.uri,tagName.local,tagName.getQname(),tagName.atts); next.startElement(tagName); }
@Override public void leaveElement(UnmarshallingContext.State state, TagName ea) throws SAXException { State s = (State) state.getTarget(); UnmarshallingContext context = state.getContext(); try { s.handler.endElement(ea.uri, ea.local, ea.getQname()); s.undeclarePrefixes(context.getNewlyDeclaredPrefixes()); } catch( SAXException e ) { context.handleError(e); throw e; } if((--s.depth)==0) { // emulate the end of the document try { s.undeclarePrefixes(context.getAllDeclaredPrefixes()); s.handler.endDocument(); } catch( SAXException e ) { context.handleError(e); throw e; } // we are done state.setTarget(s.getElement()); } }
@Override public void childElement(UnmarshallingContext.State state, TagName ea) throws SAXException { if(ea.matches("","item")) { state.setLoader(itemLoader); state.setReceiver(this); } else { super.childElement(state,ea); } }
/** * Creates {@link QName}. */ public QName createQName() { return new QName(uri,local,getPrefix()); } }
/** * Receives the root element and determines how to start * unmarshalling. */ @Override public void childElement(UnmarshallingContext.State state, TagName ea) throws SAXException { Loader loader = state.getContext().selectRootLoader(state,ea); if(loader!=null) { state.loader = loader; state.receiver = this; return; } // the registry doesn't know about this element. // try its xsi:type JaxBeanInfo beanInfo = XsiTypeLoader.parseXsiType(state, ea, null); if(beanInfo==null) { // we don't even know its xsi:type reportUnexpectedChildElement(ea,false); return; } state.loader = beanInfo.getLoader(null,false); state.prev.backup = new JAXBElement<Object>(ea.createQName(),Object.class,null); state.receiver = this; }
public void startElement(TagName tagName) throws SAXException { if(nsContext != null) { String tagNamePrefix = tagName.getPrefix().intern(); if(tagNamePrefix != "") { validator.startPrefixMapping(tagNamePrefix, nsContext.getNamespaceURI(tagNamePrefix)); } } validator.startElement(tagName.uri,tagName.local,tagName.getQname(),tagName.atts); next.startElement(tagName); }
/** * Gets the prefix. This is slow. * * @return can be "" but never null. */ public String getPrefix() { String qname = getQname(); int idx = qname.indexOf(':'); if(idx<0) return ""; else return qname.substring(0,idx); }
@Override public void childElement(UnmarshallingContext.State state, TagName ea) throws SAXException { if(ea.matches(entryTag)) { state.setLoader(entryLoader); } else { super.childElement(state,ea); } }