public void addElement(ElementBinding element) { ParticleBinding particle = new ParticleBinding(element); elements.put(element.getQName(), particle); }
void addElementParticle(ParticleBinding particle) { ElementBinding element = (ElementBinding)particle.getTerm(); elements.put(element.getQName(), particle); } }
public void endElement(QName qName) { if(element == null || !element.getQName().equals(qName)) { throw new JBossXBRuntimeException("Failed to process endElement for " + qName + " since the current element is " + (element == null ? "null" : element.getQName().toString()) ); } if(trace) { log.trace("endElement " + qName + " in " + getModelGroup()); } }
public void endElement(QName qName) { if(element == null || !element.getQName().equals(qName)) { throw new JBossXBRuntimeException("Failed to process endElement for " + qName + " since the current element is " + (element == null ? "null" : element.getQName().toString()) ); } if(trace) { log.trace("endElement " + qName + " in " + getModelGroup()); } }
public Object startElement(Object parent, QName name, ElementBinding element) { String typeName = element.getQName().getLocalPart(); if ("list".equals(typeName)) return new AbstractListMetaData(); else if ("set".equals(typeName)) return new AbstractSetMetaData(); else throw new IllegalArgumentException("Unsupported collection type=" + typeName); }
public void setParent(Object parent, Object o, QName elementName, ElementBinding element, ElementBinding parentElement) { AbstractKernelDeployment deployment = (AbstractKernelDeployment) parent; if (o == null || o instanceof BeanMetaDataFactory == false) throw new IllegalArgumentException(o + " is not an instance of BeanMetaDataFactory for element " + element.getQName()); BeanMetaDataFactory bean = (BeanMetaDataFactory) o; List<BeanMetaDataFactory> beans = deployment.getBeanFactories(); if (beans == null) { beans = new ArrayList<BeanMetaDataFactory>(); deployment.setBeanFactories(beans); } beans.add(bean); } }
private boolean marshalElement(ElementBinding element, TypeBinding xsiType, boolean optional, boolean declareNs) { Object value = stack.peek(); boolean nillable = element.isNillable(); boolean result = value != null || value == null && (optional || nillable); boolean trace = log.isTraceEnabled() && result; if(trace) { log.trace("started element " + element.getQName()); } if(value != null) { boolean declareXsiType = xsiType != null; marshalElementType(element.getQName(), declareXsiType ? xsiType : element.getType(), declareNs, declareXsiType ); } else if(nillable) { writeNillable(element.getQName(), nillable); } if(trace) { log.trace("finished element " + element.getQName()); } return result; }
public void addParticle(ParticleBinding particle) { if(!particle.getTerm().isElement()) { throw new JBossXBRuntimeException("Model group all may contain only elements!"); } ElementBinding element = (ElementBinding)particle.getTerm(); switch(elements.size()) { case 0: elements = Collections.singletonMap(element.getQName(), particle); break; case 1: elements = new HashMap(elements); default: elements.put(element.getQName(), particle); } super.addParticle(particle); }
if(qName.equals(element.getQName()))
private StackItem pop() { StackItem item = stack.pop(); if(trace) { if(item.cursor == null) { log.trace("poped " + ((ElementBinding)item.particle.getTerm()).getQName() + "=" + item.particle); } else { log.trace("poped " + item.cursor.getCurrentParticle().getTerm()); } } return item; }
private void push(ParticleBinding particle, Object o, ParticleHandler handler, TypeBinding parentType) { StackItem item = new StackItem(particle); item.o = o; item.handler = handler; item.parentType = parentType; stack.push(item); if(trace) { Object binding = null; if(particle != null) { binding = particle.getTerm(); } log.trace("pushed " + ((ElementBinding)particle.getTerm()).getQName() + "=" + o + ", binding=" + binding); } }
if(qName.equals(element.getQName()))
private ElementBinding findLocalPathElement(ElementBinding element, String[] path, int pos) { String name = path[pos]; if (!name.equals(element.getQName().getLocalPart())) return null; // End of path if (path.length - 1 == pos) return element; ParticleBinding particle = element.getType().getParticle(); if (particle == null) return null; TermBinding term = particle.getTerm(); if (!term.isModelGroup()) return null; ModelGroupBinding group = (ModelGroupBinding)term; Iterator i = group.getParticles().iterator(); // Increase depth return findLocalPathElement(i, path, pos + 1); }
fieldName = Util.xmlNameToFieldName(element.getQName().getLocalPart(), ignoreLowLine);
public String resolvePropertyName() { TermBinding term = particle.getTerm(); PropertyMetaData propertyMetaData = term.getPropertyMetaData(); String prop = propertyMetaData == null ? null : propertyMetaData.getName(); if(prop != null) { return prop; } if(term.isElement()) { QName name = ((ElementBinding)term).getQName(); prop = Util.xmlNameToFieldName(name.getLocalPart(), term.getSchema().isIgnoreLowLine()); } return prop; }
private String classFromQName(ElementBinding element) { String clsName; QName typeBase = element.getType().getQName(); if(typeBase == null) { typeBase = element.getQName(); } SchemaBinding schema = element.getSchema(); PackageMetaData pkgMetaData = schema.getPackageMetaData(); if(pkgMetaData == null) { clsName = Util.xmlNameToClassName(typeBase.getNamespaceURI(), typeBase.getLocalPart(), schema.isIgnoreLowLine() ); } else { String pkg = pkgMetaData.getName(); clsName = pkg == null || pkg.length() == 0 ? Util.xmlNameToClassName(typeBase.getLocalPart(), schema.isIgnoreLowLine()) : pkg + "." + Util.xmlNameToClassName(typeBase.getLocalPart(), schema.isIgnoreLowLine()); } return clsName; }
ParticleBinding urlParticle = new ParticleBinding(urlElement, 0, 1, true); bootstrapModel.addParticle(urlParticle); bootstrapType.pushInterceptor(urlElement.getQName(), new DefaultElementInterceptor()
ParticleBinding urlParticle = new ParticleBinding(urlElement, 0, 1, true); bootstrapModel.addParticle(urlParticle); bootstrapType.pushInterceptor(urlElement.getQName(), new DefaultElementInterceptor()