102 = new LinkedHashMap<C,ClassInfoImpl<T,C,F,M>>();
103
104 @XmlTransient
105 private final Map<C,ClassInfoImpl<T,C,F,M>> beansView =
106 Collections.unmodifiableMap(beans);
107
108 /**
109 * The element mapping.
110 */
111 private final Map<C,Map<QName,ElementInfoImpl<T,C,F,M>>> elementMappings =
112 new LinkedHashMap<C,Map<QName,ElementInfoImpl<T,C,F,M>>>();
113
114 private final Iterable<? extends ElementInfoImpl<T,C,F,M>> allElements =
115 new Iterable<ElementInfoImpl<T,C,F,M>>() {
116 public Iterator<ElementInfoImpl<T,C,F,M>> iterator() {
117 return new FlattenIterator<ElementInfoImpl<T,C,F,M>>(elementMappings.values());
118 }
119 };
120
121 /**
122 * {@link TypeInfo} for <tt>xs:anyType</tt>.
123 *
124 * anyType is the only {@link TypeInfo} that works with an interface,
125 * and accordingly it requires a lot of special casing.
126 */
127 private final NonElement<T,C> anyType;
128
129 /**
130 * Lazily parsed set of {@link XmlNs}s.
131 *
132 * @see #getXmlNs(String)
133 */
134 private Map<String,Map<String,String>> xmlNsCache;
135
136 public TypeInfoSetImpl(Navigator<T,C,F,M> nav,
137 AnnotationReader<T,C,F,M> reader,
138 Map<T,? extends BuiltinLeafInfoImpl<T,C>> leaves) {
139 this.nav = nav;
140 this.reader = reader;
141 this.builtins.putAll(leaves);
142
|
102 = new LinkedHashMap<C,ClassInfoImpl<T,C,F,M>>();
103
104 @XmlTransient
105 private final Map<C,ClassInfoImpl<T,C,F,M>> beansView =
106 Collections.unmodifiableMap(beans);
107
108 /**
109 * The element mapping.
110 */
111 private final Map<C,Map<QName,ElementInfoImpl<T,C,F,M>>> elementMappings =
112 new LinkedHashMap<C,Map<QName,ElementInfoImpl<T,C,F,M>>>();
113
114 private final Iterable<? extends ElementInfoImpl<T,C,F,M>> allElements =
115 new Iterable<ElementInfoImpl<T,C,F,M>>() {
116 public Iterator<ElementInfoImpl<T,C,F,M>> iterator() {
117 return new FlattenIterator<ElementInfoImpl<T,C,F,M>>(elementMappings.values());
118 }
119 };
120
121 /**
122 * {@link TypeInfo} for {@code xs:anyType}.
123 *
124 * anyType is the only {@link TypeInfo} that works with an interface,
125 * and accordingly it requires a lot of special casing.
126 */
127 private final NonElement<T,C> anyType;
128
129 /**
130 * Lazily parsed set of {@link XmlNs}s.
131 *
132 * @see #getXmlNs(String)
133 */
134 private Map<String,Map<String,String>> xmlNsCache;
135
136 public TypeInfoSetImpl(Navigator<T,C,F,M> nav,
137 AnnotationReader<T,C,F,M> reader,
138 Map<T,? extends BuiltinLeafInfoImpl<T,C>> leaves) {
139 this.nav = nav;
140 this.reader = reader;
141 this.builtins.putAll(leaves);
142
|