diff options
author | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-05-24 11:57:40 +0000 |
---|---|---|
committer | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-05-24 11:57:40 +0000 |
commit | c1cca55d6fe8df3d80afce7f88843c4046c35903 (patch) | |
tree | 187144ec8bafd5099db53104f17f94e9a6db61c3 /libjava/java/security/GuardedObject.java | |
parent | 0b969be63c0e8e1b4be244da0c22ec2db0cb34ae (diff) | |
download | ppe42-gcc-c1cca55d6fe8df3d80afce7f88843c4046c35903.tar.gz ppe42-gcc-c1cca55d6fe8df3d80afce7f88843c4046c35903.zip |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53837 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/security/GuardedObject.java')
-rw-r--r-- | libjava/java/security/GuardedObject.java | 61 |
1 files changed, 43 insertions, 18 deletions
diff --git a/libjava/java/security/GuardedObject.java b/libjava/java/security/GuardedObject.java index 2aa13e12a63..f07d81142e4 100644 --- a/libjava/java/security/GuardedObject.java +++ b/libjava/java/security/GuardedObject.java @@ -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 { /** + * Compatible with JDK 1.1+. + */ + private static final long serialVersionUID = -5240450096227834308L; + + /** * This is the Guard that is protecting the object. + * + * @serial the guard */ - private Guard 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 + * @throws SecurityException if access is denied + */ + public Object getObject() + { + if (guard != null) + guard.checkGuard(object); + return object; + } + + /** + * Ensures that serialization is legal, by checking the guard. * - * @exception SecurityException If the <code>Guard</code> disallows access to the object. + * @param s the stream to write to + * @throws IOException if the underlying stream fails */ - public Object getObject() throws SecurityException + private void writeObject(ObjectOutputStream s) throws IOException { - guard.checkGuard(object); - return (object); + if (guard != null) + guard.checkGuard(object); + s.defaultWriteObject(); } -} +} // class GuardedObject |