Example usage for org.springframework.oxm.xstream XStreamMarshaller setUseAttributeFor

List of usage examples for org.springframework.oxm.xstream XStreamMarshaller setUseAttributeFor

Introduction

In this page you can find the example usage for org.springframework.oxm.xstream XStreamMarshaller setUseAttributeFor.

Prototype

public void setUseAttributeFor(Map<?, ?> useAttributeFor) 

Source Link

Document

Set the types to use XML attributes for.

Usage

From source file:org.springframework.social.soundcloud.api.impl.SoundCloudTemplate.java

@Override
protected List<HttpMessageConverter<?>> getMessageConverters() {
    List<HttpMessageConverter<?>> messageConverters = super.getMessageConverters();
    messageConverters.add(new ByteArrayHttpMessageConverter());
    XStreamMarshaller marshaller = new XStreamMarshaller();
    Map<Class<?>, String> implicitCollections = new HashMap<Class<?>, String>();
    implicitCollections.put(TrackArray.class, "tracks");
    marshaller.setImplicitCollections(implicitCollections);

    // marshaller.setConverters(converterMatchers);
    Map<String, Object> aliases = new HashMap<String, Object>();
    aliases.put("playlist", XmlPlaylistUpdate.class.getName());
    // aliases.put("playlist", PlaylistUpdate.class.getName());

    aliases.put("track", TrackReference.class.getName());

    Map<String, Class<?>> useAttributeFor = new HashMap<String, Class<?>>();
    useAttributeFor.put("type", String.class);

    try {//w w  w .j  a v  a  2s  .  c om
        marshaller.setAliases(aliases);
        marshaller.setUseAttributeFor(useAttributeFor);
    } catch (ClassNotFoundException e) {
        throw new RuntimeException(e);
    }

    messageConverters.add(new MarshallingHttpMessageConverter(marshaller, marshaller));
    return messageConverters;
}