/*
* oxAuth is available under the MIT License (2008). See http://opensource.org/licenses/MIT for full text.
*
* Copyright (c) 2014, Gluu
*/
package org.xdi.oxauth.model.uma.persistence;
import java.util.List;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import org.gluu.site.ldap.persistence.annotation.LdapAttribute;
import org.gluu.site.ldap.persistence.annotation.LdapDN;
import org.gluu.site.ldap.persistence.annotation.LdapEntry;
import org.gluu.site.ldap.persistence.annotation.LdapObjectClass;
/**
* @author Yuriy Zabrovarnyy
* @author Yuriy Movchan
* @version 0.9, 22/04/2013
*/
@LdapEntry
@LdapObjectClass(values = {"top", "oxAuthUmaScopeDescription"})
public class ScopeDescription {
@LdapDN
private String dn;
@LdapAttribute(ignoreDuringUpdate = true)
private String inum;
@NotNull(message = "Display name should be not empty")
@LdapAttribute(name = "displayName")
private String displayName;
@LdapAttribute(name = "owner")
private String owner;
@LdapAttribute(name = "oxFaviconImage")
private String faviconImageAsXml;
@NotNull
@Size(min = 4, max = 30, message = "Length of scope name should be between 4 and 30")
@Pattern(regexp = "^[a-zA-Z\\d_]{4,30}$", message = "Invalid Scope Id .Only alphanumeric and underscore are allowed.")
@LdapAttribute(name = "oxId")
private String id;
@LdapAttribute(name = "oxPolicyRule")
private String policyRule;
@LdapAttribute(name = "oxRevision")
private String revision;
@LdapAttribute(name = "oxIconUrl")
private String iconUrl;
@LdapAttribute(name = "oxUrl")
private String url;
@LdapAttribute(name = "oxType")
private InternalExternal type;
@LdapAttribute(name = "oxPolicyScriptDn")
private List<String> authorizationPolicies;
public ScopeDescription() {
}
public InternalExternal getType() {
return type;
}
public void setType(InternalExternal p_type) {
type = p_type;
}
public String getDn() {
return dn;
}
public void setDn(String p_dn) {
dn = p_dn;
}
public String getInum() {
return inum;
}
public void setInum(String p_inum) {
inum = p_inum;
}
public String getDisplayName() {
return displayName;
}
public void setDisplayName(String p_displayName) {
displayName = p_displayName;
}
public String getOwner() {
return owner;
}
public void setOwner(String p_owner) {
owner = p_owner;
}
public String getFaviconImageAsXml() {
return faviconImageAsXml;
}
public void setFaviconImageAsXml(String p_faviconImageAsXml) {
faviconImageAsXml = p_faviconImageAsXml;
}
public String getId() {
return id;
}
public void setId(String p_id) {
id = p_id;
}
public String getPolicyRule() {
return policyRule;
}
public void setPolicyRule(String p_policyRule) {
policyRule = p_policyRule;
}
public String getRevision() {
return revision;
}
public void setRevision(String p_revision) {
revision = p_revision;
}
public String getIconUrl() {
return iconUrl;
}
public void setIconUrl(String p_iconUrl) {
iconUrl = p_iconUrl;
}
public String getUrl() {
return url;
}
public void setUrl(String p_url) {
url = p_url;
}
public List<String> getAuthorizationPolicies() {
return authorizationPolicies;
}
public void setAuthorizationPolicies(List<String> authorizationPolicies) {
this.authorizationPolicies = authorizationPolicies;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("ScopeDescription [dn=").append(dn).append(", inum=").append(inum).append(", displayName=").append(displayName)
.append(", owner=").append(owner).append(", faviconImageAsXml=").append(faviconImageAsXml).append(", id=").append(id)
.append(", policyRule=").append(policyRule).append(", revision=").append(revision).append(", iconUrl=").append(iconUrl)
.append(", url=").append(url).append(", type=").append(type).append(", authorizationPolicies=")
.append(authorizationPolicies).append("]");
return builder.toString();
}
}