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:
Bryce McKinlay 2002-05-24 11:57:40 +00:00 committed by Bryce McKinlay
parent 4fbecd2944
commit d2f108e266
59 changed files with 2816 additions and 1371 deletions

View file

@ -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