java.security

Class IdentityScope

Implemented Interfaces:
Principal, Serializable

public abstract class IdentityScope
extends Identity

IdentityScope represents a scope of an identity. IdentityScope is also an Identity and can have a name and scope along with the other qualitites identities possess.

An IdentityScope contains other Identity objects. All Identity objects are manipulated in the scope the same way. The scope is supposed to apply different scope to different type of Identities.

No identity within the same scope can have the same public key.

See Also:
Identity, Signer, Principal, Key, Serialized Form

Constructor Summary

IdentityScope()
Constructor for serialization purposes.
IdentityScope(String name)
Constructs a new instance of IdentityScope with the specified name and no scope.
IdentityScope(String name, IdentityScope scope)
Constructs a new instance of IdentityScope with the specified name and IdentityScope.

Method Summary

abstract void
addIdentity(Identity identity)
Adds an identity to his scope.
abstract Identity
getIdentity(String name)
Returns the specified Identity, by name, within this scope.
Identity
getIdentity(Principal principal)
Returns the specified Identity, by Principal, within this scope.
abstract Identity
getIdentity(PublicKey key)
Returns the specified Identity, by public key, within this scope.
static IdentityScope
getSystemScope()
Returns the system's Scope.
abstract Enumeration
identities()
Returns an Enumeration of identities in this scope.
abstract void
removeIdentity(Identity identity)
Removes an identity in this scope.
protected static void
setSystemScope(IdentityScope scope)
Sets the scope of the system.
abstract int
size()
Returns the number of entries within this IdentityScope.
String
toString()
Returns a string representing this instance.

Methods inherited from class java.security.Identity

addCertificate, certificates, equals, getInfo, getName, getPublicKey, getScope, hashCode, identityEquals, removeCertificate, setInfo, setPublicKey, toString, toString

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

IdentityScope

protected IdentityScope()
Constructor for serialization purposes.

IdentityScope

public IdentityScope(String name)
Constructs a new instance of IdentityScope with the specified name and no scope.
Parameters:
name - the name to use.

IdentityScope

public IdentityScope(String name,
                     IdentityScope scope)
            throws KeyManagementException
Constructs a new instance of IdentityScope with the specified name and IdentityScope.
Parameters:
name - the name to use.
scope - the scope to use.
Throws:
KeyManagementException - if the identity scope is already present.

Method Details

addIdentity

public abstract void addIdentity(Identity identity)
            throws KeyManagementException
Adds an identity to his scope.
Parameters:
identity - the Identity to add.
Throws:
KeyManagementException - if it is an invalid identity, an identity with the same key exists, or if another error occurs.

getIdentity

public abstract Identity getIdentity(String name)
Returns the specified Identity, by name, within this scope.
Parameters:
name - name of Identity to get.
Returns:
an Identity representing the name or null if it cannot be found.

getIdentity

public Identity getIdentity(Principal principal)
Returns the specified Identity, by Principal, within this scope.
Parameters:
principal - the Principal to use.
Returns:
an identity representing the Principal or null if it cannot be found.

getIdentity

public abstract Identity getIdentity(PublicKey key)
Returns the specified Identity, by public key, within this scope.
Parameters:
key - the PublicKey to use.
Returns:
an identity representing the public key or null if it cannot be found.

getSystemScope

public static IdentityScope getSystemScope()
Returns the system's Scope.
Returns:
the system's Scope.

identities

public abstract Enumeration identities()
Returns an Enumeration of identities in this scope.
Returns:
an Enumeration of the identities in this scope.

removeIdentity

public abstract void removeIdentity(Identity identity)
            throws KeyManagementException
Removes an identity in this scope.
Parameters:
identity - the Identity to remove.
Throws:
KeyManagementException - if it is a missing identity, or if another error occurs.

setSystemScope

protected static void setSystemScope(IdentityScope scope)
Sets the scope of the system.
Parameters:
scope - the new system scope.
Throws:
SecurityException - if a SecurityManager is installed which disallows this operation.

size

public abstract int size()
Returns the number of entries within this IdentityScope.
Returns:
the number of entries within this IdentityScope.

toString

public String toString()
Returns a string representing this instance. It includes the name, the scope name, and number of identities.
Specified by:
toString in interface Principal
Overrides:
toString in interface Identity
Returns:
a string representation of this instance.

IdentityScope.java --- IdentityScope Class Copyright (C) 1999, 2003, Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.