/* */ }
/* */
/* */ private static void customizeTerm(XSAnnotation an, TermBinding term, boolean trace)
/* */ {
/* 1245 */ XsdAnnotation xsdAn = XsdAnnotation.unmarshal(an.getAnnotationString());
/* 1246 */ XsdAppInfo appInfo = xsdAn.getAppInfo();
/* 1247 */ if (appInfo != null)
/* */ {
/* 1249 */ Boolean skip = null;
/* */
/* 1251 */ ClassMetaData classMetaData = appInfo.getClassMetaData();
/* 1252 */ if (classMetaData != null)
/* */ {
/* 1254 */ if (trace)
/* */ {
/* */ String msg;
/* 1257 */ if (term.isModelGroup())
/* */ {
/* 1259 */ msg = term + " bound to ";
/* */ }
/* */ else
/* */ {
/* */ String msg;
/* 1261 */ if (term.isWildcard())
/* */ {
/* 1263 */ msg = " wildcard bound to ";
/* */ }
/* */ else
/* */ {
/* 1267 */ msg = "element: name=" + ((ElementBinding)term).getQName() + ", class=";
/* */ }
/* */ }
/* 1270 */ String msg = msg + classMetaData.getImpl();
/* 1271 */ log.trace(msg);
/* */ }
/* 1273 */ term.setClassMetaData(classMetaData);
/* 1274 */ skip = Boolean.FALSE;
/* */ }
/* */
/* 1277 */ PropertyMetaData propertyMetaData = appInfo.getPropertyMetaData();
/* 1278 */ if (propertyMetaData != null)
/* */ {
/* 1280 */ if (trace)
/* */ {
/* 1282 */ String msg = "element: name=" + ((ElementBinding)term).getQName() + ", ";
/* */
/* 1284 */ msg = msg + " property=" + propertyMetaData.getName() + ", collectionType=" + propertyMetaData.getCollectionType();
/* */
/* 1287 */ log.trace(msg);
/* */ }
/* 1289 */ term.setPropertyMetaData(propertyMetaData);
/* */ }
/* */
/* 1292 */ MapEntryMetaData mapEntryMetaData = appInfo.getMapEntryMetaData();
/* 1293 */ if (mapEntryMetaData != null)
/* */ {
/* 1295 */ if (propertyMetaData != null)
/* */ {
/* 1297 */ String msg = "A term can be bound either as a property or as a map entry but not both: " + (term.isModelGroup() ? term.toString() : ((ElementBinding)term).getQName().toString());
/* */
/* 1300 */ throw new JBossXBRuntimeException(msg);
/* */ }
/* */
/* 1303 */ if (trace)
/* */ {
/* 1305 */ String msg = "element name=" + ((ElementBinding)term).getQName();
/* */
/* 1308 */ msg = msg + " is bound to a map entry: impl=" + mapEntryMetaData.getImpl() + ", getKeyMethod=" + mapEntryMetaData.getGetKeyMethod() + ", setKeyMethod=" + mapEntryMetaData.getSetKeyMethod() + ", getValueMethod=" + mapEntryMetaData.getGetValueMethod() + ", setValueMethod=" + mapEntryMetaData.getSetValueMethod() + ", valueType=" + mapEntryMetaData.getValueType() + ", nonNullValue=" + mapEntryMetaData.isNonNullValue();
/* */
/* 1321 */ log.trace(msg);
/* */ }
/* */
/* 1324 */ if (classMetaData != null)
/* */ {
/* 1326 */ String msg = "Invalid customization: both jbxb:class and jbxb:mapEntry are specified for term " + ((term.isWildcard()) || (term.isModelGroup()) ? term.toString() : ((ElementBinding)term).getQName().toString());
/* */
/* 1328 */ throw new JBossXBRuntimeException(msg);
/* */ }
/* 1330 */ term.setMapEntryMetaData(mapEntryMetaData);
/* 1331 */ skip = Boolean.FALSE;
/* */ }
/* */
/* 1334 */ PutMethodMetaData putMethodMetaData = appInfo.getPutMethodMetaData();
/* 1335 */ if (putMethodMetaData != null)
/* */ {
/* 1337 */ if (trace)
/* */ {
/* 1339 */ String msg = "element: name=" + ((ElementBinding)term).getQName() + ",";
/* */
/* 1342 */ msg = msg + " putMethod=" + putMethodMetaData.getName() + ", keyType=" + putMethodMetaData.getKeyType() + ", valueType=" + putMethodMetaData.getValueType();
/* */
/* 1347 */ log.trace(msg);
/* */ }
/* 1349 */ term.setPutMethodMetaData(putMethodMetaData);
/* */ }
/* */
/* 1352 */ AddMethodMetaData addMethodMetaData = appInfo.getAddMethodMetaData();
/* 1353 */ if (addMethodMetaData != null)
/* */ {
/* 1355 */ if (trace)
/* */ {
/* 1357 */ String msg = "element: name=" + ((ElementBinding)term).getQName() + ",";
/* */
/* 1359 */ msg = msg + " addMethod=" + addMethodMetaData.getMethodName() + ", valueType=" + addMethodMetaData.getValueType() + ", isChildType=" + addMethodMetaData.isChildType();
/* */
/* 1364 */ log.trace(msg);
/* */ }
/* 1366 */ term.setAddMethodMetaData(addMethodMetaData);
/* */ }
/* */
/* 1369 */ ValueMetaData valueMetaData = appInfo.getValueMetaData();
/* 1370 */ if (valueMetaData != null)
/* */ {
/* 1372 */ if (trace)
/* */ {
/* 1374 */ String msg = "element " + ((ElementBinding)term).getQName();
/* */
/* 1376 */ msg = msg + ": unmarshalMethod=" + valueMetaData.getUnmarshalMethod();
/* 1377 */ log.trace(msg);
/* */ }
/* 1379 */ term.setValueMetaData(valueMetaData);
/* */ }
/* */
/* 1382 */ boolean mapEntryKey = appInfo.isMapEntryKey();
/* 1383 */ if (mapEntryKey)
/* */ {
/* 1385 */ if (trace)
/* */ {
/* 1387 */ String msg = "element name=" + ((ElementBinding)term).getQName();
/* */
/* 1389 */ msg = msg + ": is bound to a key in a map entry";
/* 1390 */ log.trace(msg);
/* */ }
/* 1392 */ term.setMapEntryKey(mapEntryKey);
/* 1393 */ skip = Boolean.FALSE;
/* */ }
/* */
/* 1396 */ boolean mapEntryValue = appInfo.isMapEntryValue();
/* 1397 */ if (mapEntryValue)
/* */ {
/* 1399 */ if (trace)
/* */ {
/* 1401 */ String msg = "element name=" + ((ElementBinding)term).getQName();
/* */
/* 1403 */ msg = msg + ": is bound to a value in a map entry";
/* 1404 */ log.trace(msg);
/* */ }
/* 1406 */ term.setMapEntryValue(mapEntryValue);
/* 1407 */ skip = Boolean.FALSE;
/* */ }
/* */
/* 1410 */ boolean skipAnnotation = appInfo.isSkip();
/* 1411 */ if (skip != null)
/* */ {
/* 1413 */ term.setSkip(skip);
/* */ }
/* 1415 */ else if (skipAnnotation)