
javax.tv.service.selection.ServiceContextPermission Maven / Gradle / Ivy
/*
* @(#)ServiceContextPermission.java 1.23 00/10/09
*
* Copyright 1998-2000 by Sun Microsystems, Inc.,
* 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
* All rights reserved.
*
* This software is the confidential and proprietary information
* of Sun Microsystems, Inc. ("Confidential Information"). You
* shall not disclose such Confidential Information and shall use
* it only in accordance with the terms of the license agreement
* you entered into with Sun.
*/
package javax.tv.service.selection;
import java.security.Permission;
import java.security.BasicPermission;
import javax.tv.locator.Locator;
import java.io.Serializable;
/**
* 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
* "*". From a security standpoint, a caller is said to "own" a
* ServiceContext
instance if it was acquired through
* {@link ServiceContextFactory#createServiceContext} or {@link
* ServiceContextFactory#getServiceContext}. 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.
*
* 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 java.security.BasicPermission
* @see java.security.Permission
* @see ServiceContext
* @see ServiceContextFactory
*
* @version 1.23, 10/09/00
* @author Bill Foote */
public final class ServiceContextPermission extends BasicPermission {
/**
* 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.
*
* @param name The name of the ServiceContextPermission
*
* @param actions The actions string, as
* detailed in the class description.
*/
public ServiceContextPermission(String name, String actions) {
super(null);
}
/**
* Checks if the specified permission is "implied" by this object.
*
* More specifically, this method returns true if:
*
* - p is an instance of ServiceContextPermission, and
*
- p's action string matches this object's, or this object has
* "*" as an action string, and
*
- p's locator's external form matches this object's locator
* string, or this object's locator string is "*".
*
*
* @param p The permission against which to test.
*
* @return true
if the specified permission is equal
* to or implied by this permission; false
otherwise.
*
*/
public boolean implies(Permission p) {
return false;
}
/**
* 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.
*
* @param obj The object to test for equality.
*
* @return true
if the two permissions are equal;
* false
otherwise.
*/
public boolean equals(Object obj) {
return false;
}
/**
* Provides the hash code value of this object. Two
* ServiceContextPermission
objects that are equal will
* return the same hash code.
*
* @return The hash code value of this object.
*/
public int hashCode() {
return 0;
}
/**
* Returns the canonical representation of the actions string.
*
* @return The actions string of this permission.
*/
public String getActions() {
return null;
}
}