From 7d651220a36ec97dfbff7e6bd23fe6147956f078 Mon Sep 17 00:00:00 2001 From: Dalibor Topic Date: Sun, 20 Feb 2005 21:18:30 +0000 Subject: [PATCH] RE.java, [...]: Made 'inner' classes real public static inner classes... 2005-02-20 Dalibor Topic * libraries/javalib/gnu/regexp/RE.java, libraries/javalib/java/io/ObjectInputStream.java, libraries/javalib/java/security/AllPermission.java, libraries/javalib/java/security/BasicPermission.java, libraries/javalib/java/security/Permissions.java, libraries/javalib/java/text/MessageFormat.java: Made 'inner' classes real public static inner classes, and made them final where possible, or removed them where unused. From-SVN: r95310 --- libjava/ChangeLog | 12 ++ libjava/gnu/regexp/RE.java | 19 +- libjava/java/io/ObjectInputStream.java | 37 ++-- libjava/java/security/AllPermission.java | 114 ++++++------ libjava/java/security/BasicPermission.java | 197 +++++++++++---------- libjava/java/security/Permissions.java | 116 ++++++------ libjava/java/text/MessageFormat.java | 194 ++++++++++---------- 7 files changed, 351 insertions(+), 338 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 1d2815389808..81df0f1f0f7a 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,15 @@ +2005-02-20 Dalibor Topic + + * libraries/javalib/gnu/regexp/RE.java, + libraries/javalib/java/io/ObjectInputStream.java, + libraries/javalib/java/security/AllPermission.java, + libraries/javalib/java/security/BasicPermission.java, + libraries/javalib/java/security/Permissions.java, + libraries/javalib/java/text/MessageFormat.java: + Made 'inner' classes real public static inner classes, + and made them final where possible, or removed them + where unused. + 2005-02-20 Michael Koch * gnu/java/text/FormatCharacterIterator.java: diff --git a/libjava/gnu/regexp/RE.java b/libjava/gnu/regexp/RE.java index d782975e9aff..a01de58f1bb9 100644 --- a/libjava/gnu/regexp/RE.java +++ b/libjava/gnu/regexp/RE.java @@ -43,15 +43,6 @@ import java.util.PropertyResourceBundle; import java.util.ResourceBundle; import java.util.Vector; -class IntPair implements Serializable { - public int first, second; -} - -class CharUnit implements Serializable { - public char ch; - public boolean bk; -} - /** * RE provides the user interface for compiling and matching regular * expressions. @@ -119,6 +110,16 @@ class CharUnit implements Serializable { */ public class RE extends REToken { + + private static final class IntPair implements Serializable { + public int first, second; + } + + private static final class CharUnit implements Serializable { + public char ch; + public boolean bk; + } + // This String will be returned by getVersion() private static final String VERSION = "1.1.5-dev"; diff --git a/libjava/java/io/ObjectInputStream.java b/libjava/java/io/ObjectInputStream.java index bcaa2e3a1584..6f4faf89a6a7 100644 --- a/libjava/java/io/ObjectInputStream.java +++ b/libjava/java/io/ObjectInputStream.java @@ -1809,7 +1809,6 @@ public class ObjectInputStream extends InputStream * @param sm SecurityManager instance which should be called. * @return The current class loader in the calling stack. */ - private static native ClassLoader currentClassLoader (SecurityManager sm); private native ClassLoader getCallersClassLoader(); @@ -1879,7 +1878,7 @@ public class ObjectInputStream extends InputStream private int depth = 0; private void dumpElement (String msg) - { + { System.out.print(msg); } @@ -1898,24 +1897,24 @@ public class ObjectInputStream extends InputStream System.loadLibrary ("javaio"); } } -} - - -// used to keep a prioritized list of object validators -class ValidatorAndPriority implements Comparable -{ - int priority; - ObjectInputValidation validator; - - ValidatorAndPriority (ObjectInputValidation validator, int priority) - { - this.priority = priority; - this.validator = validator; - } - public int compareTo (Object o) + // used to keep a prioritized list of object validators + private static final class ValidatorAndPriority implements Comparable { - ValidatorAndPriority vap = (ValidatorAndPriority)o; - return this.priority - vap.priority; + int priority; + ObjectInputValidation validator; + + ValidatorAndPriority (ObjectInputValidation validator, int priority) + { + this.priority = priority; + this.validator = validator; + } + + public int compareTo (Object o) + { + ValidatorAndPriority vap = (ValidatorAndPriority)o; + return this.priority - vap.priority; + } } } + diff --git a/libjava/java/security/AllPermission.java b/libjava/java/security/AllPermission.java index 32d0b45f57ca..e7f316917c2c 100644 --- a/libjava/java/security/AllPermission.java +++ b/libjava/java/security/AllPermission.java @@ -1,5 +1,5 @@ /* AllPermission.java -- Permission to do anything - Copyright (C) 1998, 2001, 2002, 2004 Free Software Foundation, Inc. + Copyright (C) 1998, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -135,64 +135,64 @@ public final class AllPermission extends Permission { return new AllPermissionCollection(); } -} // class AllPermission - -/** - * Implements AllPermission.newPermissionCollection, and obeys serialization - * of JDK. - * - * @author Eric Blake - */ -final class AllPermissionCollection extends PermissionCollection -{ - /** - * Compatible with JDK 1.1+. - */ - private static final long serialVersionUID = -4023755556366636806L; - - /** - * Whether an AllPermission has been added to the collection. - * - * @serial if all permission is in the collection yet - */ - private boolean all_allowed; - - /** - * Add an AllPermission. - * - * @param perm the permission to add - * @throws IllegalArgumentException if perm is not an AllPermission - * @throws SecurityException if the collection is read-only - */ - public void add(Permission perm) - { - if (isReadOnly()) - throw new SecurityException(); - if (! (perm instanceof AllPermission)) - throw new IllegalArgumentException(); - all_allowed = true; - } - - /** - * Returns true if this collection implies a permission. - * - * @param perm the permission to check - * @return true if this collection contains an AllPermission - */ - public boolean implies(Permission perm) - { - return all_allowed; - } /** - * Returns an enumeration of the elements in the collection. + * Implements AllPermission.newPermissionCollection, and obeys serialization + * of JDK. * - * @return the elements in the collection + * @author Eric Blake (ebb9@email.byu.edu) */ - public Enumeration elements() + private static final class AllPermissionCollection extends PermissionCollection { - return all_allowed - ? Collections.enumeration(Collections.singleton(new AllPermission())) - : EmptyEnumeration.getInstance(); - } -} // class AllPermissionCollection + /** + * Compatible with JDK 1.1+. + */ + private static final long serialVersionUID = -4023755556366636806L; + + /** + * Whether an AllPermission has been added to the collection. + * + * @serial if all permission is in the collection yet + */ + private boolean all_allowed; + + /** + * Add an AllPermission. + * + * @param perm the permission to add + * @throws IllegalArgumentException if perm is not an AllPermission + * @throws SecurityException if the collection is read-only + */ + public void add(Permission perm) + { + if (isReadOnly()) + throw new SecurityException(); + if (! (perm instanceof AllPermission)) + throw new IllegalArgumentException(); + all_allowed = true; + } + + /** + * Returns true if this collection implies a permission. + * + * @param perm the permission to check + * @return true if this collection contains an AllPermission + */ + public boolean implies(Permission perm) + { + return all_allowed; + } + + /** + * Returns an enumeration of the elements in the collection. + * + * @return the elements in the collection + */ + public Enumeration elements() + { + return all_allowed + ? Collections.enumeration(Collections.singleton(new AllPermission())) + : EmptyEnumeration.getInstance(); + } + } // class AllPermissionCollection +} // class AllPermission diff --git a/libjava/java/security/BasicPermission.java b/libjava/java/security/BasicPermission.java index 2415b5bf795a..741f2b024649 100644 --- a/libjava/java/security/BasicPermission.java +++ b/libjava/java/security/BasicPermission.java @@ -72,8 +72,9 @@ import java.util.Hashtable; * @since 1.1 * @status updated to 1.4 */ -public abstract class BasicPermission extends Permission +public abstract class BasicPermission extends java.security.Permission implements Serializable + // FIXME extends with fully qualified classname as workaround for gcj 3.3. { /** * Compatible with JDK 1.1+. @@ -197,111 +198,111 @@ public abstract class BasicPermission extends Permission { return new BasicPermissionCollection(getClass()); } -} // class BasicPermission -/** - * Implements AllPermission.newPermissionCollection, and obeys serialization - * of JDK. - * - * @author Eric Blake - */ -final class BasicPermissionCollection extends PermissionCollection -{ /** - * Compatible with JDK 1.1+. - */ - private static final long serialVersionUID = 739301742472979399L; - - /** - * The permissions in the collection. + * Implements AllPermission.newPermissionCollection, and obeys serialization + * of JDK. * - * @serial a hash mapping name to permissions, all of type permClass + * @author Eric Blake (ebb9@email.byu.edu) */ - private final Hashtable permissions = new Hashtable(); + private static final class BasicPermissionCollection extends PermissionCollection + { + /** + * Compatible with JDK 1.1+. + */ + private static final long serialVersionUID = 739301742472979399L; - /** - * If "*" is in the collection. - * - * @serial true if a permission named "*" is in the collection - */ - private boolean all_allowed; + /** + * The permissions in the collection. + * + * @serial a hash mapping name to permissions, all of type permClass + */ + private final Hashtable permissions = new Hashtable(); - /** - * The runtime class which all entries in the table must belong to. - * - * @serial the limiting subclass of this collection - */ - private final Class permClass; + /** + * If "*" is in the collection. + * + * @serial true if a permission named "*" is in the collection + */ + private boolean all_allowed; - /** - * Construct a collection over the given runtime class. - * - * @param c the class - */ - BasicPermissionCollection(Class c) - { - permClass = c; - } + /** + * The runtime class which all entries in the table must belong to. + * + * @serial the limiting subclass of this collection + */ + private final Class permClass; - /** - * Add a Permission. It must be of the same type as the permission which - * created this collection. - * - * @param perm the permission to add - * @throws IllegalArgumentException if perm is not the correct type - * @throws SecurityException if the collection is read-only - */ - public void add(Permission perm) - { - if (isReadOnly()) - throw new SecurityException("readonly"); - if (! permClass.isInstance(perm)) - throw new IllegalArgumentException("Expecting instance of " + permClass); - BasicPermission bp = (BasicPermission) perm; - String name = bp.getName(); - if (name.equals("*")) - all_allowed = true; - permissions.put(name, bp); - } + /** + * Construct a collection over the given runtime class. + * + * @param c the class + */ + BasicPermissionCollection(Class c) + { + permClass = c; + } - /** - * Returns true if this collection implies the given permission. - * - * @param permission the permission to check - * @return true if it is implied by this - */ - public boolean implies(Permission permission) - { - if (! permClass.isInstance(permission)) - return false; - if (all_allowed) - return true; - BasicPermission toImply = (BasicPermission) permission; - String name = toImply.getName(); - if (name.equals("*")) - return false; - int prefixLength = name.length(); - if (name.endsWith("*")) - prefixLength -= 2; + /** + * Add a Permission. It must be of the same type as the permission which + * created this collection. + * + * @param perm the permission to add + * @throws IllegalArgumentException if perm is not the correct type + * @throws SecurityException if the collection is read-only + */ + public void add(Permission perm) + { + if (isReadOnly()) + throw new SecurityException("readonly"); + if (! permClass.isInstance(perm)) + throw new IllegalArgumentException("Expecting instance of " + permClass); + BasicPermission bp = (BasicPermission) perm; + String name = bp.getName(); + if (name.equals("*")) + all_allowed = true; + permissions.put(name, bp); + } - while (true) - { - if (permissions.get(name) != null) - return true; - prefixLength = name.lastIndexOf('.', prefixLength); - if (prefixLength < 0) - return false; - name = name.substring(0, prefixLength + 1) + '*'; - } - } + /** + * Returns true if this collection implies the given permission. + * + * @param permission the permission to check + * @return true if it is implied by this + */ + public boolean implies(Permission permission) + { + if (! permClass.isInstance(permission)) + return false; + if (all_allowed) + return true; + BasicPermission toImply = (BasicPermission) permission; + String name = toImply.getName(); + if (name.equals("*")) + return false; + int prefixLength = name.length(); + if (name.endsWith("*")) + prefixLength -= 2; - /** - * Enumerate over the collection. - * - * @return an enumeration of the collection contents - */ - public Enumeration elements() - { - return permissions.elements(); - } -} // class BasicPermissionCollection + while (true) + { + if (permissions.get(name) != null) + return true; + prefixLength = name.lastIndexOf('.', prefixLength); + if (prefixLength < 0) + return false; + name = name.substring(0, prefixLength + 1) + '*'; + } + } + + /** + * Enumerate over the collection. + * + * @return an enumeration of the collection contents + */ + public Enumeration elements() + { + return permissions.elements(); + } + } // class BasicPermissionCollection +} // class BasicPermission diff --git a/libjava/java/security/Permissions.java b/libjava/java/security/Permissions.java index 4d7c0f702cf5..b603dedcf866 100644 --- a/libjava/java/security/Permissions.java +++ b/libjava/java/security/Permissions.java @@ -188,67 +188,67 @@ public final class Permissions extends PermissionCollection } }; } -} // class Permissions - -/** - * Implements the permission collection for all permissions without one of - * their own, and obeys serialization of JDK. - * - * @author Eric Blake - */ -class PermissionsHash extends PermissionCollection -{ - /** - * Compatible with JDK 1.1+. - */ - private static final long serialVersionUID = -8491988220802933440L; /** - * Hashtable where we store permissions. + * Implements the permission collection for all permissions without one of + * their own, and obeys serialization of JDK. * - * @serial the stored permissions, both as key and value + * @author Eric Blake (ebb9@email.byu.edu) */ - private final Hashtable perms = new Hashtable(); - - /** - * Add a permission. We don't need to check for read-only, as this - * collection is never exposed outside of Permissions, which has already - * done that check. - * - * @param perm the permission to add - */ - public void add(Permission perm) + private static final class PermissionsHash extends PermissionCollection { - perms.put(perm, perm); - } - - /** - * Returns true if perm is in the collection. - * - * @param perm the permission to check - * @return true if it is implied - */ - // FIXME: Should this method be synchronized? - public boolean implies(Permission perm) - { - Enumeration elements = elements(); - - while (elements.hasMoreElements()) - { - Permission p = (Permission)elements.nextElement(); - if (p.implies(perm)) - return true; - } - return false; - } - - /** - * Return the elements. - * - * @return the elements - */ - public Enumeration elements() - { - return perms.elements(); - } + /** + * Compatible with JDK 1.1+. + */ + private static final long serialVersionUID = -8491988220802933440L; + + /** + * Hashtable where we store permissions. + * + * @serial the stored permissions, both as key and value + */ + private final Hashtable perms = new Hashtable(); + + /** + * Add a permission. We don't need to check for read-only, as this + * collection is never exposed outside of Permissions, which has already + * done that check. + * + * @param perm the permission to add + */ + public void add(Permission perm) + { + perms.put(perm, perm); + } + + /** + * Returns true if perm is in the collection. + * + * @param perm the permission to check + * @return true if it is implied + */ + // FIXME: Should this method be synchronized? + public boolean implies(Permission perm) + { + Enumeration elements = elements(); + + while (elements.hasMoreElements()) + { + Permission p = (Permission)elements.nextElement(); + if (p.implies(perm)) + return true; + } + return false; + } + + /** + * Return the elements. + * + * @return the elements + */ + public Enumeration elements() + { + return perms.elements(); + } + } // class PermissionsHash } // class Permissions diff --git a/libjava/java/text/MessageFormat.java b/libjava/java/text/MessageFormat.java index 6a031bc72543..6c1b0508bdaa 100644 --- a/libjava/java/text/MessageFormat.java +++ b/libjava/java/text/MessageFormat.java @@ -46,107 +46,107 @@ import java.util.HashMap; import java.util.Locale; import java.util.Vector; -/** - * @author Tom Tromey - * @author Jorge Aliss - * @date March 3, 1999 - */ -/* Written using "Java Class Libraries", 2nd edition, plus online - * API docs for JDK 1.2 from http://www.javasoft.com. - * Status: Believed complete and correct to 1.2, except serialization. - * and parsing. - */ -final class MessageFormatElement +public class MessageFormat extends Format { - // Argument number. - int argNumber; - // Formatter to be used. This is the format set by setFormat. - Format setFormat; - // Formatter to be used based on the type. - Format format; - - // Argument will be checked to make sure it is an instance of this - // class. - Class formatClass; - - // Formatter type. - String type; - // Formatter style. - String style; - - // Text to follow this element. - String trailer; - - // Recompute the locale-based formatter. - void setLocale (Locale loc) + /** + * @author Tom Tromey (tromey@cygnus.com) + * @author Jorge Aliss (jaliss@hotmail.com) + * @date March 3, 1999 + */ + /* Written using "Java Class Libraries", 2nd edition, plus online + * API docs for JDK 1.2 from http://www.javasoft.com. + * Status: Believed complete and correct to 1.2, except serialization. + * and parsing. + */ + private static final class MessageFormatElement { - if (type == null) - ; - else if (type.equals("number")) - { - formatClass = java.lang.Number.class; - - if (style == null) - format = NumberFormat.getInstance(loc); - else if (style.equals("currency")) - format = NumberFormat.getCurrencyInstance(loc); - else if (style.equals("percent")) - format = NumberFormat.getPercentInstance(loc); - else if (style.equals("integer")) - { - NumberFormat nf = NumberFormat.getNumberInstance(loc); - nf.setMaximumFractionDigits(0); - nf.setGroupingUsed(false); - format = nf; - } - else - { - format = NumberFormat.getNumberInstance(loc); - DecimalFormat df = (DecimalFormat) format; - df.applyPattern(style); - } - } - else if (type.equals("time") || type.equals("date")) - { - formatClass = java.util.Date.class; - - int val = DateFormat.DEFAULT; - if (style == null) - ; - else if (style.equals("short")) - val = DateFormat.SHORT; - else if (style.equals("medium")) - val = DateFormat.MEDIUM; - else if (style.equals("long")) - val = DateFormat.LONG; - else if (style.equals("full")) - val = DateFormat.FULL; - - if (type.equals("time")) - format = DateFormat.getTimeInstance(val, loc); - else - format = DateFormat.getDateInstance(val, loc); - - if (style != null && val == DateFormat.DEFAULT) - { - SimpleDateFormat sdf = (SimpleDateFormat) format; - sdf.applyPattern(style); - } - } - else if (type.equals("choice")) - { - formatClass = java.lang.Number.class; - - if (style == null) - throw new - IllegalArgumentException ("style required for choice format"); - format = new ChoiceFormat (style); - } + // Argument number. + int argNumber; + // Formatter to be used. This is the format set by setFormat. + Format setFormat; + // Formatter to be used based on the type. + Format format; + + // Argument will be checked to make sure it is an instance of this + // class. + Class formatClass; + + // Formatter type. + String type; + // Formatter style. + String style; + + // Text to follow this element. + String trailer; + + // Recompute the locale-based formatter. + void setLocale (Locale loc) + { + if (type == null) + ; + else if (type.equals("number")) + { + formatClass = java.lang.Number.class; + + if (style == null) + format = NumberFormat.getInstance(loc); + else if (style.equals("currency")) + format = NumberFormat.getCurrencyInstance(loc); + else if (style.equals("percent")) + format = NumberFormat.getPercentInstance(loc); + else if (style.equals("integer")) + { + NumberFormat nf = NumberFormat.getNumberInstance(loc); + nf.setMaximumFractionDigits(0); + nf.setGroupingUsed(false); + format = nf; + } + else + { + format = NumberFormat.getNumberInstance(loc); + DecimalFormat df = (DecimalFormat) format; + df.applyPattern(style); + } + } + else if (type.equals("time") || type.equals("date")) + { + formatClass = java.util.Date.class; + + int val = DateFormat.DEFAULT; + if (style == null) + ; + else if (style.equals("short")) + val = DateFormat.SHORT; + else if (style.equals("medium")) + val = DateFormat.MEDIUM; + else if (style.equals("long")) + val = DateFormat.LONG; + else if (style.equals("full")) + val = DateFormat.FULL; + + if (type.equals("time")) + format = DateFormat.getTimeInstance(val, loc); + else + format = DateFormat.getDateInstance(val, loc); + + if (style != null && val == DateFormat.DEFAULT) + { + SimpleDateFormat sdf = (SimpleDateFormat) format; + sdf.applyPattern(style); + } + } + else if (type.equals("choice")) + { + formatClass = java.lang.Number.class; + + if (style == null) + throw new + IllegalArgumentException ("style required for choice format"); + format = new ChoiceFormat (style); + } + } } -} -public class MessageFormat extends Format -{ private static final long serialVersionUID = 6479157306784022952L; public static class Field extends Format.Field -- 2.43.5