Use is subject to License Terms. Your use of this web site or any of its content or software indicates your agreement to be bound by these License Terms.

Copyright © 2006 Sun Microsystems, Inc. All rights reserved.

JSR-927 (Maintenance Release)

javax.tv.service.selection
Class ServiceContextPermission

java.lang.Object
  extended byjava.security.Permission
      extended byjava.security.BasicPermission
          extended byjavax.tv.service.selection.ServiceContextPermission
All Implemented Interfaces:
java.security.Guard, java.io.Serializable

public final class ServiceContextPermission
extends java.security.BasicPermission

ServiceContextPermission represents permission to control a ServiceContext. A ServiceContextPermission contains a name (also referred to as a "target name") and an actions string.

The target name is the name of the service context permission (see the table below). Each permission identifies a method. A wildcard match is signified by an asterisk, i.e., "*".

The actions string is either "own" or "*". A caller's "own" service contexts are those which it has created through ServiceContextFactory.createServiceContext(). In addition, an Xlet's "own" ServiceContext is the one in which it is currently running (see ServiceContextFactory.getServiceContext(XletContext)). The string "own" means the permission applies to your own service contexts; the string "*" implies permission to these, plus permission for service contexts obtained from all other sources.

The following table lists all the possible ServiceContextPermission target names, and describes what the permission allows for each.

Permission Target Name What the Permission Allows
access Access to a ServiceContext, via ServiceContextFactory.getServiceContexts()
create Creation of a ServiceContext.
destroy Destruction of a ServiceContext.
getServiceContentHandlers Obtaining the service content handlers from a ServiceContext.
stop Stopping a ServiceContext.

The permission ServiceContextPermission("access", "*") is intended to be granted only to special monitoring applications and not to general broadcast applications. In order to properly safeguard service context access, an Xlet's javax.microedition.xlet.XletContext instance should only be accessible to another application if that other application has ServiceContextPermission("access", "*").

Note that undefined target and actions strings may be provided to the constructors of this class, but subsequent calls to SecurityManager.checkPermission() with the resulting SelectPermission object will fail.

See Also:
BasicPermission, Permission, ServiceContext, ServiceContextFactory, Serialized Form

Constructor Summary
ServiceContextPermission(java.lang.String name, java.lang.String actions)
          Creates a new ServiceContextPermission object with the specified name.
 
Method Summary
 boolean equals(java.lang.Object obj)
          Tests two ServiceContextPermission objects for equality.
 java.lang.String getActions()
          Returns the canonical representation of the actions string.
 int hashCode()
          Provides the hash code value of this object.
 boolean implies(java.security.Permission p)
          Checks if the specified permission is "implied" by this object.
 
Methods inherited from class java.security.BasicPermission
newPermissionCollection
 
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
 

Constructor Detail

ServiceContextPermission

public ServiceContextPermission(java.lang.String name,
                                java.lang.String actions)
Creates a new ServiceContextPermission object with the specified name. The name is the symbolic name of the permission, such as "create". An asterisk may be used to signify a wildcard match.

Parameters:
name - The name of the ServiceContextPermission
actions - The actions string, as detailed in the class description.
Method Detail

implies

public boolean implies(java.security.Permission p)
Checks if the specified permission is "implied" by this object.

More specifically, this method returns true if:

Parameters:
p - The permission against which to test.
Returns:
true if the specified permission is equal to or implied by this permission; false otherwise.

equals

public boolean equals(java.lang.Object obj)
Tests two ServiceContextPermission objects for equality. Returns true if and only if obj's class is the same as the class of this object, and obj has the same name and actions string as this object.

Parameters:
obj - The object to test for equality.
Returns:
true if the two permissions are equal; false otherwise.

hashCode

public int hashCode()
Provides the hash code value of this object. Two ServiceContextPermission objects that are equal will return the same hash code.

Returns:
The hash code value of this object.

getActions

public java.lang.String getActions()
Returns the canonical representation of the actions string.

Returns:
The actions string of this permission.

JSR-927 (Maintenance Release)

Copyright © 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to License Terms. Your use of this web site or any of its content or software indicates your agreement to be bound by these License Terms.

For more information, please consult the JSR 927 specification.