All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.security.jacc.EJBRoleRefPermission Maven / Gradle / Ivy

The newest version!
package javax.security.jacc;

import java.io.Serializable;
import java.security.Permission;

/**
 * 

* Class for EJB isCallerInRole (String reference) permissions. An EJBRoleRefPermission is a named permission and * has actions. *

* *

* The name of an EJBRoleRefPermission contains the value of the ejb-name element in the application's deployment * descriptor that identifies the EJB in whose context the permission is being evaluated. *

* *

* The actions of an EJBRoleRefPermission identifies the role reference to which the permission applies. An * EJBRoleRefPermission is checked to determine if the subject is a member of the role identified by the reference. *

* *

* Implementations of this class MAY implement newPermissionCollection or inherit its implementation from the super * class. *

* * @author Scott Stark * @author Stefan Guilhen * @see java.security.Permission */ public final class EJBRoleRefPermission extends Permission implements Serializable { private static final long serialVersionUID = 1; /** The security-role-ref/role-link value */ private String actions; private transient int hashCode; /** *

* Creates a new EJBRoleRefPermission with the specified name and actions. *

* * @param ejbName * - the ejb-name that identifies the EJB in whose context the role references are to be evaluated. * @param actions * - identifies the role reference to which the permission pertains. The role reference is scoped to the * EJB identified in the name parameter. The value of the role reference must not be {@code null} or the * empty string. */ public EJBRoleRefPermission(String ejbName, String actions) { super(ejbName); this.actions = actions; this.hashCode = ejbName.hashCode() + actions.hashCode(); } /** *

* Checks two EJBRoleRefPermission objects for equality. EJBRoleRefPermission objects are equivalent if they have * case equivalent name and actions values. *

* *

* Two Permission objects, P1 and P2, are equivalent if and only if P1.implies(P2) && P2.implies(P1). *

* * @param o * - the EJBRoleRefPermission object being tested for equality with this EJBRoleRefPermission. * @return true if the argument EJBRoleRefPermission object is equivalent to this EJBRoleRefPermission. */ @Override public boolean equals(Object o) { if ((o instanceof EJBRoleRefPermission) == false) return false; boolean equals = false; EJBRoleRefPermission errp = (EJBRoleRefPermission) o; String pname = errp.getName(); if (this.getName().equals(pname)) { String pactions = errp.getActions(); if (this.getActions().equals(pactions)) equals = true; } return equals; } /** *

* Returns a canonical String representation of the actions of this EJBRoleRefPermission. *

* * @return a String containing the canonicalized actions of this EJBRoleRefPermission. */ @Override public String getActions() { return actions; } /** *

* Returns the hash code value for this EJBRoleRefPermission. The properties of the returned hash code must be as * follows: *

    *
  • During the lifetime of a Java application, the hashCode method must return the same integer value, every time * it is called on a EJBRoleRefPermission object. The value returned by hashCode for a particular * EJBRoleRefPermission need not remain consistent from one execution of an application to another.
  • *
  • If two EJBRoleRefPermission objects are equal according to the equals method, then calling the hash- Code * method on each of the two Permission objects must produce the same integer result (within an application).
  • *
*

* * @return the integer hash code value for this object. */ @Override public int hashCode() { return hashCode; } /** *

* Determines if the argument Permission is "implied by" this EJBRoleRefPermission. For this to be the case, *

    *
  • The argument must be an instance of EJBRoleRefPermission with name equivalent to that of this * EJBRoleRefPermission, and with the role reference equivalent to that of this EJBRoleRefPermission applies.
  • *
*

* *

* The name and actions comparisons described above are case sensitive. *

* * @param permission * - “this” EJBRoleRefPermission is checked to see if it implies the argument permission. * @return true if the specified permission is implied by this object, false if not. */ public boolean implies(Permission permission) { return equals(permission); } /** *

* Returns the {@code String} representation of this permission, which has the following form: * *

    * [ejb-name,role-ref=actions]
    * 
* *

*/ public String toString() { return "[" + getName() + ",role-ref=" + actions + "]"; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy