public void addParticle(ParticleBinding particle) { switch(choices.size()) { case 0: choices = Collections.singletonList(particle); break; case 1: choices = new ArrayList(choices); default: choices.add(particle); } super.addParticle(particle); }
public void addParticle(ParticleBinding particle) { ModelGroupBinding modelGroup; if(this.particle == null) { modelGroup = new AllBinding(schemaBinding); this.particle = new ParticleBinding(modelGroup); } else { modelGroup = (ModelGroupBinding)this.particle.getTerm(); } modelGroup.addParticle(particle); }
public void addParticle(ParticleBinding particle) { switch(sequence.size()) { case 0: sequence = Collections.singletonList(particle); if(particle.isRepeatable() && particle.getTerm().isElement()) { ElementBinding element = (ElementBinding)particle.getTerm(); if(particle.isRepeatable()) { arrayItem = element; } } break; case 1: sequence = new ArrayList(sequence); arrayItem = null; default: sequence.add(particle); } super.addParticle(particle); }
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); }
parentGroup.addParticle(particleBinding); if (trace)
private void bindWildcard(XSParticle particle) { WildcardBinding binding = new WildcardBinding(schema); ModelGroupBinding group = (ModelGroupBinding)peekTypeOrGroup(); ParticleBinding particleBinding = new ParticleBinding(binding); particleBinding.setMaxOccurs(particle.getMaxOccurs()); particleBinding.setMaxOccursUnbounded(particle.getMaxOccursUnbounded()); particleBinding.setMinOccurs(particle.getMinOccurs()); group.addParticle(particleBinding); XSWildcard wildcard = (XSWildcard)particle.getTerm(); if(wildcard.getName() != null) { binding.setQName(new QName(wildcard.getNamespace(), wildcard.getName())); } binding.setProcessContents(wildcard.getProcessContents()); if (processAnnotations) { XSAnnotation annotation = wildcard.getAnnotation(); if(annotation != null) { customizeTerm(annotation, binding, trace); } } }
if(parentGroup != null) parentGroup.addParticle(particle); parentGroup.addParticle(particle); if (trace)