blob: 6ba64b38862b53ce213fc76d778be72353a3c372 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
package org.apache.directory.fortress.core.model;
import java.io.Serializable;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlRootElement;
import jakarta.xml.bind.annotation.XmlType;
/**
* This entity is used by {@link org.apache.directory.fortress.core.ant.FortressAntTask} to add {@link Permission} grants to
* RBAC {@link Role}, or ARBAC {@link AdminRole}.
* Can also be used to grant Permissions directly to {@link User}s.
* This entity is used for Ant and Fortress Rest processing only.
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@XmlRootElement(name = "fortGrant")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "permGrant", propOrder = {
"objName",
"opName",
"objId",
"userId",
"roleNm",
"admin"
})
public class PermGrant extends FortEntity implements Serializable
{
private static final long serialVersionUID = 1L;
/** The permission object name */
private String objName;
/** The permission operation name */
private String opName;
/** The permission object ID */
private String objId;
/** The userId attribute from this entity */
private String userId;
/** The role name associated from this entity */
private String roleNm;
/** Tells if the entity is stored with administrative permissions */
private boolean admin;
/**
* Return the permission object name.
* @return maps to 'ftObjNm' attribute on 'ftOperation' object class.
*/
public String getObjName()
{
return objName;
}
/**
* Set the permission object name.
* @param objName maps to 'ftObjNm' attribute on 'ftOperation' object class.
*/
public void setObjName(String objName)
{
this.objName = objName;
}
/**
* Return the permission object id.
* @return maps to 'ftObjId' attribute on 'ftOperation' object class.
*/
public String getObjId()
{
return objId;
}
/**
* Set the permission object id.
* @param objId maps to 'ftObjId' attribute on 'ftOperation' object class.
*/
public void setObjId(String objId)
{
this.objId = objId;
}
/**
* Return the permission operation name.
* @return maps to 'ftOpNm' attribute on 'ftOperation' object class.
*/
public String getOpName()
{
return opName;
}
/**
* Set the permission operation name.
* @param opName maps to 'ftOpNm' attribute on 'ftOperation' object class.
*/
public void setOpName(String opName)
{
this.opName = opName;
}
/**
* Get the userId attribute from this entity.
*
* @return maps to 'ftUsers' attribute on 'ftOperation' object class.
*/
public String getUserId()
{
return userId;
}
/**
* Set the userId attribute on this entity.
*
* @param userId maps to 'ftUsers' attribute on 'ftOperation' object class.
*/
public void setUserId(String userId)
{
this.userId = userId;
}
/**
* Get the role name associated from this entity.
*
* @return maps to 'ftRoles' attribute on 'ftOperation' object class.
*/
public String getRoleNm()
{
return roleNm;
}
/**
* Set the role name associated with this entity.
*
* @param roleNm maps to 'ftRoles' attribute on 'ftOperation' object class.
*/
public void setRoleNm(String roleNm)
{
this.roleNm = roleNm;
}
/**
* If set to true entity will be stored in ldap subdirectory associated with administrative permissions {@link org.apache.directory.fortress.core.GlobalIds#ADMIN_PERM_ROOT}.
* otherwise will be RBAC permissions {@link org.apache.directory.fortress.core.GlobalIds#PERM_ROOT}
* @return boolean if administrative entity.
*/
public boolean isAdmin()
{
return admin;
}
/**
* Return boolean value that will be set to true if this entity will be stored in Administrative Permissions.
* @param admin will be true if administrative entity.
*/
public void setAdmin(boolean admin)
{
this.admin = admin;
}
/**
* @see Object#toString()
*/
public String toString()
{
StringBuilder sb = new StringBuilder();
sb.append( "PermGrant object: \n" );
sb.append( " roleNm :" ).append( roleNm ).append( '\n' );
sb.append( " objName :" ).append( objName ).append( '\n' );
sb.append( " objId :" ).append( objId ).append( '\n' );
sb.append( " userId :" ).append( userId ).append( '\n' );
sb.append( " opName :" ).append( opName ).append( '\n' );
sb.append( " isAdmin :" ).append( admin ).append( '\n' );
return sb.toString();
}
}