aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/security/Provider.java
diff options
context:
space:
mode:
authorWarren Levy <warrenl@cygnus.com>2000-06-27 05:10:03 +0000
committerWarren Levy <warrenl@gcc.gnu.org>2000-06-27 05:10:03 +0000
commit7b245d2461191bc67cb3dc22a5006e5478a5552b (patch)
tree489d75420cadf0ca7a7d52253e3912d484dfc0a3 /libjava/java/security/Provider.java
parentcf1748bfce3d254bfd8bad027ab55e25793ce2fc (diff)
downloadgcc-7b245d2461191bc67cb3dc22a5006e5478a5552b.zip
gcc-7b245d2461191bc67cb3dc22a5006e5478a5552b.tar.gz
gcc-7b245d2461191bc67cb3dc22a5006e5478a5552b.tar.bz2
PropertyChangeEvent.java (oldVal): Renamed to oldValue.
* java/beans/PropertyChangeEvent.java (oldVal): Renamed to oldValue. (newVal): Renamed to newValue. * java/beans/PropertyVetoException.java (changeEvent): Renamed to evt. * java/beans/beancontext/BeanContextServiceRevokedEvent.java (revokeNow): Renamed to invalidateRefs. * java/io/OptionalDataException.java: Updated FIXME. (eof): New placeholder field. (length); Ditto. * java/io/WriteAbortedException.java (message): Made transient. * java/lang/ClassNotFoundException.java: Updated comments for JDK 1.2. * java/lang/Throwable.java (stackTrace): Made transient. * java/net/InetAddress.java: Made Serializable. * java/security/KeyPair.java: Made Serializable. * java/security/Provider.java: Replaced with Classpath version that implements serialization and proper methods. * java/text/ChoiceFormat.java (strings): Renamed to choiceFormats. (limits): Renamed to choiceLimits. Serialization changes per: http://java.sun.com/products/jdk/1.2/docs/api/serialized-form.html From-SVN: r34726
Diffstat (limited to 'libjava/java/security/Provider.java')
-rw-r--r--libjava/java/security/Provider.java224
1 files changed, 184 insertions, 40 deletions
diff --git a/libjava/java/security/Provider.java b/libjava/java/security/Provider.java
index ac2cd78..d0a969f 100644
--- a/libjava/java/security/Provider.java
+++ b/libjava/java/security/Provider.java
@@ -1,53 +1,197 @@
-/* Copyright (C) 2000 Free Software Foundation
+/* Provider.java -- Security provider information
+ Copyright (C) 1998, 1999 Free Software Foundation, Inc.
- This file is part of libgcj.
+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., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+As a special exception, if you link this library with other files to
+produce an executable, this library does not by itself cause the
+resulting executable to be covered by the GNU General Public License.
+This exception does not however invalidate any other reasons why the
+executable file might be covered by the GNU General Public License. */
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
package java.security;
+
+import java.io.Serializable;
import java.util.Properties;
/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date February 7, 2000.
+ * This class represents a Java security architecture service provider.
+ * The services provided by a such a provider can range from security
+ * algorithms to key generation.
+ * <p>
+ * Providers are installed by name and verion number. There is one
+ * standard provider supplied with the class library. This is the
+ * "GNU" provider, which can also be accessed by the alias "SUN" for
+ * compatibility with the JDK.
+ *
+ * @version 0.0
+ *
+ * @author Aaron M. Renn (arenn@urbanophile.com)
+ */
+public abstract class Provider extends Properties implements Serializable
+{
+
+/*************************************************************************/
+
+/*
+ * Instance Variables
*/
/**
- * Written using on-line Java Platform 1.2 API Specification.
- * Status: Partially implemented.
+ * This is a textual description of the provider
+ */
+private String info;
+
+/**
+ * This is the name of the provider
+ */
+private String name;
+
+/**
+ * This is the version number of the provider
+ */
+private double version;
+
+/*************************************************************************/
+
+/*
+ * Constructors
*/
-public abstract class Provider extends Properties
-{
- // FIXME: Check the following property values against specs!
- protected Provider(String name, double version, String info)
- {
- super();
- put("java.security.Provider.Name", name);
- put("java.security.Provider.Version", Double.toString(version));
- put("java.security.Provider.Info", info);
- }
-
- public String getName()
- {
- return getProperty("java.security.Provider.Name");
- }
-
- public double getVersion()
- {
- return Double.valueOf(getProperty("java.security.Provider.Version")).doubleValue();
- }
-
- public String getInfo()
- {
- return getProperty("java.security.Provider.Info");
- }
-
- public String toString()
- {
- // FIXME: Check this string against the spec.
- return getName() + " " + getProperty("java.security.Provider.Version");
- }
+/**
+ * This method initializes a new instance of <code>Provider</code> to have
+ * the specified name, version, and description information.
+ *
+ * @param name The name to assign to this <code>Provider</code>.
+ * @param version The version number for this <code>Provider</code>.
+ * @param info A textual description of this provider.
+ */
+protected
+Provider(String name, double version, String info)
+{
+ this.name = name;
+ this.version = version;
+ this.info = info;
+}
+
+/*************************************************************************/
+
+/*
+ * Instance Methods
+ */
+
+/**
+ * This method returns the name assigned to this <code>Provider</code>.
+ *
+ * @return The <code>Provider</code>'s name.
+ */
+public String
+getName()
+{
+ return(name);
}
+
+/*************************************************************************/
+
+/**
+ * This method retunrs the version number of this <code>Provider</code>.
+ *
+ * @return The <code>Provider</code>'s version number.
+ */
+public double
+getVersion()
+{
+ return(version);
+}
+
+/*************************************************************************/
+
+/**
+ * This method returns a textual description of the <code>Provider</code>.
+ *
+ * @return A description of the <code>Provider</code>.
+ */
+public String
+getInfo()
+{
+ return(info);
+}
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified key to have the specified value.
+ *
+ * @param key The property key
+ * @param value The property value
+ *
+ * @return The previous value for this key, or <code>null</code> if no previous value.
+ */
+public Object
+put(Object key, Object value)
+{
+ return(super.put(key, value));
+}
+
+/*************************************************************************/
+
+/**
+ * This method removes the specified key entry (and its associated value)
+ * from the property mapping list.
+ *
+ * @param key The key to remove
+ *
+ * @return The previous value for this key, or <code>null</code> if no previous value.
+ */
+public Object
+remove(Object key)
+{
+ return(super.remove(key));
+}
+
+/*************************************************************************/
+
+/**
+ * This method clears the entire property list such that it no longer
+ * contains the properties used to look up the services provided by
+ * the <code>Provider</code>.
+ */
+public void
+clear()
+{
+ super.clear();
+}
+
+/*************************************************************************/
+
+/**
+ * This method returns a <code>String</code> representation of this
+ * object. This will include the <code>Provider</code> name and
+ * version number.
+ *
+ * @return A <code>String</code> representation of this object.
+ */
+public String
+toString()
+{
+ return(getClass().getName() + ": name=" + getName() + " version=" + version);
+}
+
+} // class Provider
+