Merge JDK 1.4 java.security changes from classpath.
* java/security/AccessControlException.java: Merge from Classpath. * java/security/AccessController.java: Likewise. * java/security/AllPermission.java: Likewise. * java/security/BasicPermission.java: Likewise. * java/security/Certificate.java: Likewise. * java/security/CodeSource.java: Likewise. * java/security/DigestException.java: Likewise. * java/security/DigestOutputStream.java: Likewise. * java/security/DomainCombiner.java: Likewise. * java/security/GeneralSecurityException.java: Likewise. * java/security/Guard.java: Likewise. * java/security/GuardedObject.java: Likewise. * java/security/InvalidAlgorithmParameterException.java: Likewise. * java/security/InvalidKeyException.java: Likewise. * java/security/InvalidParameterException.java: Likewise. * java/security/Key.java: Likewise. * java/security/KeyException.java: Likewise. * java/security/KeyManagementException.java: Likewise. * java/security/KeyStoreException.java: Likewise. * java/security/MessageDigest.java: Likewise. * java/security/NoSuchAlgorithmException.java: Likewise. * java/security/NoSuchProviderException.java: Likewise. * java/security/Permission.java: Likewise. * java/security/PermissionCollection.java: Likewise. * java/security/Permissions.java: Likewise. * java/security/Policy.java: Likewise. * java/security/Principal.java: Likewise. * java/security/PrivateKey.java: Likewise. * java/security/PrivilegedAction.java: Likewise. * java/security/PrivilegedActionException.java: Likewise. * java/security/PrivilegedExceptionAction.java: Likewise. * java/security/ProtectionDomain.java: Likewise. * java/security/ProviderException.java: Likewise. * java/security/PublicKey.java: Likewise. * java/security/SecureClassLoader.java: Likewise. * java/security/SecurityPermission.java: Likewise. * java/security/SignatureException.java: Likewise. * java/security/UnrecoverableKeyException.java: Likewise. * java/security/UnresolvedPermission.java: Likewise. * java/security/acl/AclNotFoundException.java: Likewise. * java/security/acl/LastOwnerException.java: Likewise. * java/security/acl/NotOwnerException.java: Likewise. * java/security/cert/CRLException.java: Likewise. * java/security/cert/CertificateEncodingException.java: Likewise. * java/security/cert/CertificateException.java: Likewise. * java/security/cert/CertificateExpiredException.java: Likewise. * java/security/cert/CertificateFactory.java: Likewise. * java/security/cert/CertificateNotYetValidException.java: Likewise. * java/security/cert/CertificateParsingException.java: Likewise. * java/security/spec/InvalidKeySpecException.java: Likewise. * java/security/spec/InvalidParameterSpecException.java: Likewise. * java/security/cert/CertPath.java: New file. * java/security/cert/CertPathBuilderException.java: New file. * java/security/cert/CertPathValidatorException.java: New file. * java/security/cert/CertStoreException.java: New file. * Makefile.am: Add new CertPath classes. * Makefile.in: Rebuilt. * gnu/java/util/EmptyEnumeration: New file from classpath. From-SVN: r53837
This commit is contained in:
parent
4fbecd2944
commit
d2f108e266
59 changed files with 2816 additions and 1371 deletions
|
@ -1,5 +1,5 @@
|
|||
/* GuardedObject.java -- An object protected by a Guard
|
||||
Copyright (C) 1998 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998, 2002 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
|
@ -38,38 +38,50 @@ exception statement from your version. */
|
|||
package java.security;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectOutputStream;
|
||||
|
||||
/**
|
||||
* This class is an object that is guarded by a <code>Guard</code> object.
|
||||
* The object that is being guarded is retrieved by a call to the only
|
||||
* The object that is being guarded is retrieved by a call to the only
|
||||
* method in this class - <code>getObject</code>. That method returns the
|
||||
* guarded <code>Object</code> after first checking with the
|
||||
* guarded <code>Object</code> after first checking with the
|
||||
* <code>Guard</code>. If the <code>Guard</code> disallows access, an
|
||||
* exception will be thrown.
|
||||
*
|
||||
* @version 0.0
|
||||
*
|
||||
* @author Aaron M. Renn (arenn@urbanophile.com)
|
||||
* @author Aaron M. Renn <arenn@urbanophile.com>
|
||||
* @since 1.1
|
||||
* @status updated to 1.4
|
||||
*/
|
||||
public class GuardedObject implements Serializable
|
||||
{
|
||||
/**
|
||||
* This is the Guard that is protecting the object.
|
||||
* Compatible with JDK 1.1+.
|
||||
*/
|
||||
private Guard guard;
|
||||
private static final long serialVersionUID = -5240450096227834308L;
|
||||
|
||||
/**
|
||||
* This is the Guard that is protecting the object.
|
||||
*
|
||||
* @serial the guard
|
||||
*/
|
||||
private final Guard guard;
|
||||
|
||||
/**
|
||||
* This is the object that is being guarded.
|
||||
*
|
||||
* @serial the protected object
|
||||
*/
|
||||
private Object object;
|
||||
private final Object object;
|
||||
|
||||
/**
|
||||
* This method initializes a new instance of <code>GuardedObject</code>
|
||||
* that protects the specified <code>Object</code> using the specified
|
||||
* <code>Guard</code>
|
||||
* <code>Guard</code>. A null guard means there are no restrictions on
|
||||
* accessing the object.
|
||||
*
|
||||
* @param object The <code>Object</code> to guard
|
||||
* @param guard The <code>Guard</code> that is protecting the object.
|
||||
* @param object the <code>Object</code> to guard
|
||||
* @param guard the <code>Guard</code> that is protecting the object
|
||||
*/
|
||||
public GuardedObject(Object object, Guard guard)
|
||||
{
|
||||
|
@ -78,18 +90,31 @@ public class GuardedObject implements Serializable
|
|||
}
|
||||
|
||||
/**
|
||||
* This method first call the <code>checkGuard</code> method on the
|
||||
* <code>Guard</code> object protecting the guarded object. If the
|
||||
* This method first call the <code>checkGuard</code> method on the
|
||||
* <code>Guard</code> object protecting the guarded object. If the
|
||||
* <code>Guard</code> disallows access, an exception is thrown, otherwise
|
||||
* the <code>Object</code> is returned.
|
||||
*
|
||||
* @return The object being guarded
|
||||
*
|
||||
* @exception SecurityException If the <code>Guard</code> disallows access to the object.
|
||||
* @throws SecurityException if access is denied
|
||||
*/
|
||||
public Object getObject() throws SecurityException
|
||||
public Object getObject()
|
||||
{
|
||||
guard.checkGuard(object);
|
||||
return (object);
|
||||
if (guard != null)
|
||||
guard.checkGuard(object);
|
||||
return object;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Ensures that serialization is legal, by checking the guard.
|
||||
*
|
||||
* @param s the stream to write to
|
||||
* @throws IOException if the underlying stream fails
|
||||
*/
|
||||
private void writeObject(ObjectOutputStream s) throws IOException
|
||||
{
|
||||
if (guard != null)
|
||||
guard.checkGuard(object);
|
||||
s.defaultWriteObject();
|
||||
}
|
||||
} // class GuardedObject
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue