@Override
public Marshaller build(Set<Class<?>> classes, MarshallingFormat format, ClassLoader classLoader) {
switch ( format ) {
case XSTREAM:
logger.debug("About to build default instance of XStream marshaller with classes {} and class loader {}", classes, classLoader);
return new XStreamMarshaller( classes, classLoader );
case JAXB:
logger.debug("About to build default instance of JAXB marshaller with classes {} and class loader {}", classes, classLoader);
return new JaxbMarshaller(classes, classLoader);
case JSON:
logger.debug("About to build default instance of JSON marshaller with classes {} and class loader {}", classes, classLoader);
return new JSONMarshaller(classes, classLoader);
default:
logger.error( "Unsupported marshalling format: " + format );
}
return null;
}
}