/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.intel.mtwilson.user.management.rest.v2.model;
import com.intel.mtwilson.jaxrs2.DocumentCollection;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.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 ssbangal
*/
@JacksonXmlRootElement(localName="role_permission_collection")
public class RolePermissionCollection extends DocumentCollection<RolePermission> {
private final ArrayList<RolePermission> rolePermissions = new ArrayList<RolePermission>();
// using the xml annotations we get output like <users><user>...</user><user>...</user></users> , without them we would have <users><users>...</users><users>...</users></users> and it looks strange
@JsonSerialize(include=JsonSerialize.Inclusion.ALWAYS) // jackson 1.9
@JsonInclude(JsonInclude.Include.ALWAYS) // jackson 2.0
@JacksonXmlElementWrapper(localName="role_permissions")
@JacksonXmlProperty(localName="role_permission")
public List<RolePermission> getRolePermissions() { return rolePermissions; }
@Override
public List<RolePermission> getDocuments() {
return getRolePermissions();
}
}