private TypeUse onContainer(DContainerPattern p) { TypeUse t=null; for( DPattern child : p ) { TypeUse s = child.accept(this); if(t!=null && t!=s) return CBuiltinLeafInfo.STRING; // heterogenous t = s; } return t; }
private TypeUse onContainer(DContainerPattern p) { TypeUse t=null; for( DPattern child : p ) { TypeUse s = child.accept(this); if(t!=null && t!=s) return CBuiltinLeafInfo.STRING; // heterogenous t = s; } return t; }
private void bindContentModel(CClassInfo clazz, DPattern pattern) { // first we decide which patterns in it map to properties // then we process each of them by using RawTypeSetBuilder. // much like DefaultParticleBinder in XSD pattern.accept(new ContentModelBinder(this,clazz)); }
private void bindContentModel(CClassInfo clazz, DPattern pattern) { // first we decide which patterns in it map to properties // then we process each of them by using RawTypeSetBuilder. // much like DefaultParticleBinder in XSD pattern.accept(new ContentModelBinder(this,clazz)); }
protected Void onContainer(DContainerPattern p) { for( DPattern c=p.firstChild(); c!=null; c=c.next ) c.accept(this); return null; }
protected Void onContainer(DContainerPattern p) { for( DPattern c=p.firstChild(); c!=null; c=c.next ) c.accept(this); return null; }
public ParsedPattern onChoice(DChoicePattern p) { List<ParsedPattern> kids = new ArrayList<ParsedPattern>(); for( DPattern c=p.firstChild(); c!=null; c=c.next ) kids.add( (ParsedPattern)c.accept(this) ); return sb.makeChoice(kids,parseLocation(p),null); }
public ParsedPattern onGroup(DGroupPattern p) { List<ParsedPattern> kids = new ArrayList<ParsedPattern>(); for( DPattern c=p.firstChild(); c!=null; c=c.next ) kids.add( (ParsedPattern)c.accept(this) ); return sb.makeGroup(kids,parseLocation(p),null); }
public ParsedPattern onInterleave(DInterleavePattern p) { List<ParsedPattern> kids = new ArrayList<ParsedPattern>(); for( DPattern c=p.firstChild(); c!=null; c=c.next ) kids.add( (ParsedPattern)c.accept(this) ); return sb.makeInterleave(kids,parseLocation(p),null); }
public ParsedPattern onGroup(DGroupPattern p) { List<ParsedPattern> kids = new ArrayList<ParsedPattern>(); for( DPattern c=p.firstChild(); c!=null; c=c.next ) kids.add( (ParsedPattern)c.accept(this) ); return sb.makeGroup(kids,parseLocation(p),null); }
public ParsedPattern onOneOrMore(DOneOrMorePattern p) { return sb.makeOneOrMore( (ParsedPattern)p.getChild().accept(this), parseLocation(p), parseAnnotation(p) ); }
public ParsedPattern onZeroOrMore(DZeroOrMorePattern p) { return sb.makeZeroOrMore( (ParsedPattern)p.getChild().accept(this), parseLocation(p), parseAnnotation(p) ); } }
public ParsedPattern onList(DListPattern p) { return sb.makeList( (ParsedPattern)p.getChild().accept(this), parseLocation(p), parseAnnotation(p) ); }
public ParsedPattern onOptional(DOptionalPattern p) { return sb.makeOptional( (ParsedPattern)p.getChild().accept(this), parseLocation(p), parseAnnotation(p) ); }
public ParsedPattern onZeroOrMore(DZeroOrMorePattern p) { return sb.makeZeroOrMore( (ParsedPattern)p.getChild().accept(this), parseLocation(p), parseAnnotation(p) ); } }
public ParsedPattern onList(DListPattern p) { return sb.makeList( (ParsedPattern)p.getChild().accept(this), parseLocation(p), parseAnnotation(p) ); }
public Void onAttribute(DAttributePattern p) { // TODO: support multiple names QName name = p.getName().listNames().iterator().next(); CAttributePropertyInfo ap = new CAttributePropertyInfo( calcName(p), null,null/*TODO*/, p.getLocation(), name, p.getChild().accept(compiler.typeUseBinder), null, !insideOptional); clazz.addProperty(ap); return null; }
public ParsedPattern onElement(DElementPattern p) { return sb.makeElement( parseNameClass(p.getName()), (ParsedPattern)p.getChild().accept(this), parseLocation(p), parseAnnotation(p) ); }
public ParsedPattern onAttribute(DAttributePattern p) { return sb.makeAttribute( parseNameClass(p.getName()), (ParsedPattern)p.getChild().accept(this), parseLocation(p), parseAnnotation(p) ); }