package mit.roles ;

public class GrantPrivilege
implements roles.GrantPrivilege
{
	private String grantPrivilege = null ;

	public GrantPrivilege( String grantPrivilege )
	throws Exception
	{
		if
		(  ( roles.GrantPrivilege.NOTGRANTABLE.equals( grantPrivilege ) )
		|| ( roles.GrantPrivilege.GRANTABLE.equals( grantPrivilege ) )
		|| ( roles.GrantPrivilege.GRANTABLEFORGRANTING.equals( grantPrivilege ) )
		)
		{
			this.grantPrivilege = grantPrivilege ;
		}
		throw new roles.RolesException( roles.RolesException.INVALIDGRANTPRIVILEGE ) ;
	}

	public String toString()
	{
		return this.grantPrivilege ;
	}

	public boolean isGrantable()
	{
		return ( ! this.grantPrivilege.equals( roles.GrantPrivilege.NOTGRANTABLE ) ) ;
	}

	public boolean isGrantableForGranting()
	{
		return ( this.grantPrivilege.equals( roles.GrantPrivilege.GRANTABLEFORGRANTING ) ) ;
	}

}