CharactersMetaData charactersMetaData = appInfo.getCharactersMetaData();
if(charactersMetaData != null)
{
if(log.isTraceEnabled())
{
PropertyMetaData propertyMetaData = charactersMetaData.getProperty();
if(propertyMetaData != null)
{
log.trace("complex type " +
type.getName() +
": characters bound to " + propertyMetaData.getName()
);
}
ValueMetaData valueMetaData = charactersMetaData.getValue();
if(valueMetaData != null)
{
log.trace("complex type " +
type.getName() +
": characters unmarshalMethod=" +
valueMetaData.getUnmarshalMethod() +
", marshalMethod=" + valueMetaData.getMarshalMethod()
);
}
boolean mapEntryKey = appInfo.isMapEntryKey();
if(mapEntryKey)
{
log.trace("complex type " +
type.getName() +
": characters are bound as a key in a map entry"
);
}
boolean mapEntryValue = appInfo.isMapEntryValue();
if(mapEntryValue)
{
log.trace("complex type " +
type.getName() +
": characters are bound as a value in a map entry"
);
}
}
binding.setCharactersMetaData(charactersMetaData);
}
MapEntryMetaData mapEntryMetaData = appInfo.getMapEntryMetaData();
if(mapEntryMetaData != null)
{
if(log.isTraceEnabled())
{
log.trace("complex type " +
type.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("Illegal binding: both jbxb:class and jbxb:mapEntry are specified for complex type " +
type.getName()
);
}
binding.setMapEntryMetaData(mapEntryMetaData);
}
boolean skip = appInfo.isSkip();
if(skip)
{
if(log.isTraceEnabled())
{
log.trace("complex type " +
type.getName() +
": elements of this type will be skipped; their attrs, character content " +
"and elements will be set the parent."
);
}
binding.setSkip(skip);
}
PropertyMetaData propertyMetaData = appInfo.getPropertyMetaData();
if(propertyMetaData != null)
{
if(log.isTraceEnabled())
{
log.trace("complex type " +
type.getName() +
": the content of elements of this type is bound to property " + propertyMetaData.getName()
);
}
binding.setPropertyMetaData(propertyMetaData);
}