Build 1.0_r1(from source)

java.net
Class SocketPermission

java.lang.Object
  extended by java.security.Permission
      extended by java.net.SocketPermission
All Implemented Interfaces:
Serializable, Guard

public final class SocketPermission
extends Permission
implements Serializable

SocketPermissions represent permission to access resources via sockets. The name of the permission should be either the (possibly wildcarded (eg. *.company.com)) DNS style name of the of the host for which access is being requested, or its IP address in standard nn.nn.nn.nn ("dot") notation. The action list can be made up of any of the following:

connect
requests permission to connect to the host
listen
requests permission to listen for connections from the host
accept
requests permission to accept connections from the host
resolve
requests permission to resolve the host name
Note that "resolve" is implied when any (or none) of the others are present.

Access to a particular port can be requested by appending a colon and a single digit to the name (eg. "*.company.com:7000"). A range of port numbers can also be specified, by appending a pattern of the form - where and are valid port numbers. If either or is omitted it is equivalent to entering the lowest or highest possible value respectively. For example:

 SocketPermission("www.company.com:7000-", "connect", "accept")
 
represents permission to connect to and accept connections from www.company.com on ports in the range 7000 to 65535.

See Also:
Serialized Form

Field Summary
(package private)  int actionsMask
           
(package private)  String hostName
           
(package private)  String ipString
           
(package private)  int portMax
           
(package private)  int portMin
           
(package private)  boolean resolved
           
(package private) static int SP_ACCEPT
           
(package private) static int SP_CONNECT
           
(package private) static int SP_LISTEN
           
(package private) static int SP_RESOLVE
           
 
Constructor Summary
SocketPermission(String host, String action)
          Constructs an instance of this class.
 
Method Summary
(package private)  boolean checkHost(SocketPermission sp)
           
 boolean equals(Object o)
          Compares the argument to the receiver, and returns true if they represent the equal objects using a class specific comparison.
 String getActions()
          Returns the canonical action list of this SocketPermission in the order: connect, listen, accept, resolve.
 int hashCode()
          Returns an integer hash code for the receiver.
 boolean implies(Permission p)
          Check the permission to see if the actions requested by the argument permission are permissable.
 PermissionCollection newPermissionCollection()
          Returns a PermissionCollection for storing SocketPermission objects.
 
Methods inherited from class java.security.Permission
checkGuard, getName, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

SP_CONNECT

static final int SP_CONNECT
See Also:
Constant Field Values

SP_LISTEN

static final int SP_LISTEN
See Also:
Constant Field Values

SP_ACCEPT

static final int SP_ACCEPT
See Also:
Constant Field Values

SP_RESOLVE

static final int SP_RESOLVE
See Also:
Constant Field Values

hostName

transient String hostName

ipString

transient String ipString

resolved

transient boolean resolved

portMin

transient int portMin

portMax

transient int portMax

actionsMask

transient int actionsMask
Constructor Detail

SocketPermission

public SocketPermission(String host,
                        String action)
Constructs an instance of this class. The host name can be a DNS name, an individual hostname, an ip address or the empty string which implies localhost. The port or port range is optional.

The action list is a comma-seperated list which can consist of "connect", "listen", "accept", and "resolve". They are case-insensitive and can be put together in any order. "resolve" is always implied.

Parameters:
host - java.lang.String the host name
action - java.lang.String the action string
Method Detail

equals

public boolean equals(Object o)
Compares the argument to the receiver, and returns true if they represent the equal objects using a class specific comparison.

Specified by:
equals in class Permission
Parameters:
o - the object to compare with this object
Returns:
true if the object is the same as this object false if it is different from this object
See Also:
hashCode()

hashCode

public int hashCode()
Returns an integer hash code for the receiver. Any two objects which answer true when passed to .equals must answer the same value for this method.

Specified by:
hashCode in class Permission
Returns:
int the receiver's hash.
See Also:
equals(java.lang.Object)

getActions

public String getActions()
Returns the canonical action list of this SocketPermission in the order: connect, listen, accept, resolve.

Specified by:
getActions in class Permission
Returns:
java.lang.String the canonical action list

implies

public boolean implies(Permission p)
Check the permission to see if the actions requested by the argument permission are permissable. All argument permission actions, host and port must be implied by this permission in order to return true. This permission may imply additional actions etc. not present in the argument permission.

Specified by:
implies in class Permission
Parameters:
p - java.security.Permission the other socket permission
Returns:
boolean true if this permission implies p, and false otherwise

newPermissionCollection

public PermissionCollection newPermissionCollection()
Returns a PermissionCollection for storing SocketPermission objects.

Overrides:
newPermissionCollection in class Permission
Returns:
java.security.PermissionCollection a permission collection

checkHost

boolean checkHost(SocketPermission sp)

Build 1.0_r1(from source)

Please submit a feedback, bug or feature