/* 1169 */ TypeBinding mapType = schemaBinding.getType(mapTypeQName);
/* 1170 */ mapType.setHandler(new DefaultElementHandler()
/* */ {
/* */ public Object startElement(Object parent, QName name, ElementBinding element)
/* */ {
/* 1174 */ return new AbstractMapMetaData();
/* */ }
/* */
/* */ public void attributes(Object o, QName elementName, ElementBinding element, Attributes attrs, NamespaceContext nsCtx)
/* */ {
/* 1179 */ AbstractMapMetaData collection = (AbstractMapMetaData)o;
/* 1180 */ for (int i = 0; i < attrs.getLength(); i++)
/* */ {
/* 1182 */ String localName = attrs.getLocalName(i);
/* 1183 */ if ("class".equals(localName))
/* 1184 */ collection.setType(attrs.getValue(i));
/* 1185 */ else if ("keyClass".equals(localName))
/* 1186 */ collection.setKeyType(attrs.getValue(i));
/* 1187 */ else if ("valueClass".equals(localName))
/* 1188 */ collection.setValueType(attrs.getValue(i));
/* */ }
/* */ }
/* */ });
/* 1194 */ mapType.pushInterceptor(entryQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 1198 */ AbstractMapMetaData map = (AbstractMapMetaData)parent;
/* 1199 */ BeanSchemaBinding.MapEntry entry = (BeanSchemaBinding.MapEntry)child;
/* 1200 */ AbstractValueMetaData entryKey = (AbstractValueMetaData)entry.key;
/* 1201 */ if (entryKey == null)
/* 1202 */ throw new IllegalArgumentException("No key in map entry");
/* 1203 */ AbstractValueMetaData entryValue = (AbstractValueMetaData)entry.value;
/* 1204 */ if (entryValue == null)
/* 1205 */ throw new IllegalArgumentException("No value in map entry");
/* 1206 */ map.put((MetaDataVisitorNode)entryKey.getValue(), (MetaDataVisitorNode)entryValue.getValue());
/* */ }
/* */ });
/* 1211 */ TypeBinding entryType = schemaBinding.getType(entryTypeQName);
/* 1212 */ entryType.setHandler(new DefaultElementHandler()
/* */ {