package org.rhq.enterprise.server.rest.domain; import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlElementRef; import javax.xml.bind.annotation.XmlRootElement; import com.wordnik.swagger.annotations.ApiClass; import com.wordnik.swagger.annotations.ApiProperty; import org.rhq.core.domain.resource.group.GroupCategory; /** * Representation of a resource group * @author Heiko W. Rupp */ @ApiClass("Representation of a resource group") @XmlRootElement public class GroupRest { int id; private String name; private Integer resourceTypeId; private boolean recursive; private GroupCategory category; private int dynaGroupDefinitionId; private int explicitCount; private int implicitCount; List<Link> links = new ArrayList<Link>(); public GroupRest() { } public GroupRest(String name) { this.name = name; } @ApiProperty("Id of the group") public int getId() { return id; } public void setId(int id) { this.id = id; } @ApiProperty("Name of the group") public String getName() { return name; } public void setName(String name) { this.name = name; } @ApiProperty("ResourceType id for compatible groups") public Integer getResourceTypeId() { return resourceTypeId; } public void setResourceTypeId(Integer resourceTypeId) { this.resourceTypeId = resourceTypeId; } @ApiProperty("True if the group is recursive (i.e. includes child resources") public boolean isRecursive() { return recursive; } public void setRecursive(boolean recursive) { this.recursive = recursive; } @ApiProperty(value="Category of the group. ", allowableValues = "COMPATIBLE, MIXED" ) public GroupCategory getCategory() { return category; } public void setCategory(GroupCategory category) { this.category = category; } @XmlElementRef public List<Link> getLinks() { return links; } public void setLinks(List<Link> links) { this.links = links; } @ApiProperty("Id of a DynaGroup definition if the group was defined by a DynaGroup.") public int getDynaGroupDefinitionId() { return dynaGroupDefinitionId; } public void setDynaGroupDefinitionId(int dynaGroupDefinitionId) { this.dynaGroupDefinitionId = dynaGroupDefinitionId; } @ApiProperty("Number of explicitly added resources in the group") public int getExplicitCount() { return explicitCount; } public void setExplicitCount(int explicitCount) { this.explicitCount = explicitCount; } @ApiProperty("Number of resources in the group (explict + children for a recursive group") public int getImplicitCount() { return implicitCount; } public void setImplicitCount(int implicitCount) { this.implicitCount = implicitCount; } }