MapEntryMetaData mapEntryMetaData = appInfo.getMapEntryMetaData();
if(mapEntryMetaData != null)
{
if(propertyMetaData != null)
{
throw new JBossXBRuntimeException("An element can be bound either as a property or as a map" +
" entry but not both: " +
new QName(element.getNamespace(), element.getName())
);
}
if(log.isTraceEnabled())
{
log.trace("element name=" +
new QName(element.getNamespace(), element.getName()) +
" 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()
);
}
if(classMetaData != null)
{
throw new JBossXBRuntimeException("Invalid binding: both jbxb:class and jbxb:mapEntry are specified for element " +
new QName(element.getNamespace(), element.getName())
);
}
binding.setMapEntryMetaData(mapEntryMetaData);
}