public Map<Class,RuntimeClassInfoImpl> beans() { return (Map<Class,RuntimeClassInfoImpl>)super.beans(); }
public Map<String,String> getSchemaLocations() { Map<String, String> r = new HashMap<String,String>(); for (ClassInfoImpl<T, C, F, M> ci : beans().values()) { XmlSchema xs = reader.getPackageAnnotation( XmlSchema.class, ci.getClazz(), null ); if(xs==null) continue; String loc = xs.location(); if(loc.equals(XmlSchema.NO_LOCATION)) continue; // unspecified r.put(xs.namespace(),loc); } return r; }
public final XmlNsForm getElementFormDefault(String nsUri) { for (ClassInfoImpl<T, C, F, M> ci : beans().values()) { XmlSchema xs = reader.getPackageAnnotation( XmlSchema.class, ci.getClazz(), null ); if(xs==null) continue; if(!xs.namespace().equals(nsUri)) continue; XmlNsForm xnf = xs.elementFormDefault(); if(xnf!=XmlNsForm.UNSET) return xnf; } return XmlNsForm.UNSET; }
public final XmlNsForm getAttributeFormDefault(String nsUri) { for (ClassInfoImpl<T,C,F,M> ci : beans().values()) { XmlSchema xs = reader.getPackageAnnotation( XmlSchema.class, ci.getClazz(), null ); if(xs==null) continue; if(!xs.namespace().equals(nsUri)) continue; XmlNsForm xnf = xs.attributeFormDefault(); if(xnf!=XmlNsForm.UNSET) return xnf; } return XmlNsForm.UNSET; }
public Map<String,String> getXmlNs(String namespaceUri) { if(xmlNsCache==null) { xmlNsCache = new HashMap<String,Map<String,String>>(); for (ClassInfoImpl<T, C, F, M> ci : beans().values()) { XmlSchema xs = reader.getPackageAnnotation( XmlSchema.class, ci.getClazz(), null ); if(xs==null) continue; String uri = xs.namespace(); Map<String,String> m = xmlNsCache.get(uri); if(m==null) xmlNsCache.put(uri,m=new HashMap<String, String>()); for( XmlNs xns : xs.xmlns() ) { m.put(xns.prefix(),xns.namespaceURI()); } } } Map<String,String> r = xmlNsCache.get(namespaceUri); if(r!=null) return r; else return Collections.emptyMap(); }
/** * Called after all the classes are added to the type set * to "link" them together. * * <p> * Don't expose implementation classes in the signature. * * @return * fully built {@link TypeInfoSet} that represents the model, * or null if there was an error. */ public TypeInfoSet<T,C,F,M> link() { assert !linked; linked = true; for( ElementInfoImpl ei : typeInfoSet.getAllElements() ) ei.link(); for( ClassInfoImpl ci : typeInfoSet.beans().values() ) ci.link(); for( EnumLeafInfoImpl li : typeInfoSet.enums().values() ) li.link(); if(hadError) return null; else return typeInfoSet; }
private boolean addAllSubtypes(T type) { Navigator<T,C,F,M> nav = nav(); // this allows the explicitly referenced type to be sucked in to the model NonElement<T,C> t = parent.builder.getClassInfo(nav.asDecl(type),this); if(!(t instanceof ClassInfo)) // this is leaf. return false; boolean result = false; ClassInfo<T,C> c = (ClassInfo<T,C>) t; if(c.isElement()) { types.add(c.asElement()); result = true; } // look for other possible types for( ClassInfo<T,C> ci : parent.owner.beans().values() ) { if(ci.isElement() && nav.isSubClassOf(ci.getType(),type)) { types.add(ci.asElement()); result = true; } } // don't allow local elements to substitute. for( ElementInfo<T,C> ei : parent.owner.getElementMappings(null).values()) { if(nav.isSubClassOf(ei.getType(),type)) { types.add(ei); result = true; } } return result; }
public Map<Class,RuntimeClassInfoImpl> beans() { return (Map<Class,RuntimeClassInfoImpl>)super.beans(); }
public Map<String,String> getSchemaLocations() { Map<String, String> r = new HashMap<String,String>(); for (ClassInfoImpl<T, C, F, M> ci : beans().values()) { XmlSchema xs = reader.getPackageAnnotation( XmlSchema.class, ci.getClazz(), null ); if(xs==null) continue; String loc = xs.location(); if(loc.equals(XmlSchema.NO_LOCATION)) continue; // unspecified r.put(xs.namespace(),loc); } return r; }
public final XmlNsForm getAttributeFormDefault(String nsUri) { for (ClassInfoImpl<T,C,F,M> ci : beans().values()) { XmlSchema xs = reader.getPackageAnnotation( XmlSchema.class, ci.getClazz(), null ); if(xs==null) continue; if(!xs.namespace().equals(nsUri)) continue; XmlNsForm xnf = xs.attributeFormDefault(); if(xnf!=XmlNsForm.UNSET) return xnf; } return XmlNsForm.UNSET; }
public final XmlNsForm getElementFormDefault(String nsUri) { for (ClassInfoImpl<T, C, F, M> ci : beans().values()) { XmlSchema xs = reader.getPackageAnnotation( XmlSchema.class, ci.getClazz(), null ); if(xs==null) continue; if(!xs.namespace().equals(nsUri)) continue; XmlNsForm xnf = xs.elementFormDefault(); if(xnf!=XmlNsForm.UNSET) return xnf; } return XmlNsForm.UNSET; }
public Map<String,String> getXmlNs(String namespaceUri) { if(xmlNsCache==null) { xmlNsCache = new HashMap<String,Map<String,String>>(); for (ClassInfoImpl<T, C, F, M> ci : beans().values()) { XmlSchema xs = reader.getPackageAnnotation( XmlSchema.class, ci.getClazz(), null ); if(xs==null) continue; String uri = xs.namespace(); Map<String,String> m = xmlNsCache.get(uri); if(m==null) xmlNsCache.put(uri,m=new HashMap<String, String>()); for( XmlNs xns : xs.xmlns() ) { m.put(xns.prefix(),xns.namespaceURI()); } } } Map<String,String> r = xmlNsCache.get(namespaceUri); if(r!=null) return r; else return Collections.emptyMap(); }
/** * Called after all the classes are added to the type set * to "link" them together. * * <p> * Don't expose implementation classes in the signature. * * @return * fully built {@link TypeInfoSet} that represents the model, * or null if there was an error. */ public TypeInfoSet<T,C,F,M> link() { assert !linked; linked = true; for( ElementInfoImpl ei : typeInfoSet.getAllElements() ) ei.link(); for( ClassInfoImpl ci : typeInfoSet.beans().values() ) ci.link(); for( EnumLeafInfoImpl li : typeInfoSet.enums().values() ) li.link(); if(hadError) return null; else return typeInfoSet; }
private boolean addAllSubtypes(T type) { Navigator<T,C,F,M> nav = nav(); // this allows the explicitly referenced type to be sucked in to the model NonElement<T,C> t = parent.builder.getClassInfo(nav.asDecl(type),this); if(!(t instanceof ClassInfo)) // this is leaf. return false; boolean result = false; ClassInfo<T,C> c = (ClassInfo<T,C>) t; if(c.isElement()) { types.add(c.asElement()); result = true; } // look for other possible types for( ClassInfo<T,C> ci : parent.owner.beans().values() ) { if(ci.isElement() && nav.isSubClassOf(ci.getType(),type)) { types.add(ci.asElement()); result = true; } } // don't allow local elements to substitute. for( ElementInfo<T,C> ei : parent.owner.getElementMappings(null).values()) { if(nav.isSubClassOf(ei.getType(),type)) { types.add(ei); result = true; } } return result; }
public Map<Class,RuntimeClassInfoImpl> beans() { return (Map<Class,RuntimeClassInfoImpl>)super.beans(); }
public Map<String,String> getSchemaLocations() { Map<String, String> r = new HashMap<String,String>(); for (ClassInfoImpl<T, C, F, M> ci : beans().values()) { XmlSchema xs = reader.getPackageAnnotation( XmlSchema.class, ci.getClazz(), null ); if(xs==null) continue; String loc = xs.location(); if(loc.equals(XmlSchema.NO_LOCATION)) continue; // unspecified r.put(xs.namespace(),loc); } return r; }
public Map<String,String> getSchemaLocations() { Map<String, String> r = new HashMap<String,String>(); for (ClassInfoImpl<T, C, F, M> ci : beans().values()) { XmlSchema xs = reader.getPackageAnnotation( XmlSchema.class, ci.getClazz(), null ); if(xs==null) continue; String loc = xs.location(); if(loc.equals(XmlSchema.NO_LOCATION)) continue; // unspecified r.put(xs.namespace(),loc); } return r; }
public final XmlNsForm getElementFormDefault(String nsUri) { for (ClassInfoImpl<T, C, F, M> ci : beans().values()) { XmlSchema xs = reader.getPackageAnnotation( XmlSchema.class, ci.getClazz(), null ); if(xs==null) continue; if(!xs.namespace().equals(nsUri)) continue; XmlNsForm xnf = xs.elementFormDefault(); if(xnf!=XmlNsForm.UNSET) return xnf; } return XmlNsForm.UNSET; }
public final XmlNsForm getAttributeFormDefault(String nsUri) { for (ClassInfoImpl<T,C,F,M> ci : beans().values()) { XmlSchema xs = reader.getPackageAnnotation( XmlSchema.class, ci.getClazz(), null ); if(xs==null) continue; if(!xs.namespace().equals(nsUri)) continue; XmlNsForm xnf = xs.attributeFormDefault(); if(xnf!=XmlNsForm.UNSET) return xnf; } return XmlNsForm.UNSET; }
public final XmlNsForm getAttributeFormDefault(String nsUri) { for (ClassInfoImpl<T,C,F,M> ci : beans().values()) { XmlSchema xs = reader.getPackageAnnotation( XmlSchema.class, ci.getClazz(), null ); if(xs==null) continue; if(!xs.namespace().equals(nsUri)) continue; XmlNsForm xnf = xs.attributeFormDefault(); if(xnf!=XmlNsForm.UNSET) return xnf; } return XmlNsForm.UNSET; }