blob: 628c986652334a4cf9278623e863edcfa2df55ae [file] [log] [blame]
package edu.psu.swe.scim.spec.schema;
import java.io.Serializable;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
import edu.psu.swe.scim.spec.annotation.ScimAttribute;
import edu.psu.swe.scim.spec.annotation.ScimResourceIdReference;
import lombok.Data;
@Data
@XmlType(propOrder = {"value","ref","display","type"})
@XmlAccessorType(XmlAccessType.NONE)
public class ResourceReference implements Serializable {
private static final long serialVersionUID = 9126588075353486789L;
@XmlEnum
public enum ReferenceType {
@XmlEnumValue("direct") DIRECT,
@XmlEnumValue("indirect") INDIRECT
}
@ScimAttribute(description="Reference Element Identifier")
@ScimResourceIdReference
@XmlElement
String value;
@ScimAttribute(description="The URI of the corresponding resource ", referenceTypes={"User", "Group"})
@XmlElement(name = "$ref")
String ref;
@ScimAttribute(description="A human readable name, primarily used for display purposes. READ-ONLY.")
@XmlElement
String display;
@ScimAttribute(description="A label indicating the attribute's function; e.g., 'direct' or 'indirect'.", canonicalValueList={"direct", "indirect"})
@XmlElement
ReferenceType type;
}