/* * Copyright (C) 2013 Intel Corporation * All rights reserved. */ package com.intel.mtwilson.as.rest.v2.model; import com.intel.mtwilson.jaxrs2.DocumentCollection; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.annotation.JsonSerialize; //import org.codehaus.jackson.map.annotate.JsonSerialize; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; import java.util.ArrayList; import java.util.List; /** * * @author jbuhacoff */ @JacksonXmlRootElement(localName="host_collection") public class HostCollection extends DocumentCollection<Host> { private final ArrayList<Host> hosts = new ArrayList<Host>(); // using the xml annotations we get output like <hosts><host>...</host><host>...</host></hosts> , without them we would have <hosts><hosts>...</hosts><hosts>...</hosts></hosts> and it looks strange @JsonSerialize(include=JsonSerialize.Inclusion.ALWAYS) // jackson 1.9 @JsonInclude(JsonInclude.Include.ALWAYS) // jackson 2.0 @JacksonXmlElementWrapper(localName="hosts") @JacksonXmlProperty(localName="host") public List<Host> getHosts() { return hosts; } @Override public List<Host> getDocuments() { return getHosts(); } }