public:
static JArray< ::java::io::File * > * listRoots();
static ::java::io::File * createTempFile(::java::lang::String *, ::java::lang::String *);
- virtual jint compareTo(::java::io::File *);
- virtual jint compareTo(::java::lang::Object *);
+ virtual jint File$compareTo(::java::io::File *);
private:
jboolean performRenameTo(::java::io::File *);
public:
private:
void writeObject(::java::io::ObjectOutputStream *);
void readObject(::java::io::ObjectInputStream *);
+public:
+ virtual jint compareTo(::java::lang::Object *);
+private:
static const jlong serialVersionUID = 301077366599181567LL;
static const jint READ = 0;
static const jint WRITE = 1;
/* File.java -- Class representing a file on disk
- Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006
+ Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007
Free Software Foundation, Inc.
This file is part of GNU Classpath.
* @author Aaron M. Renn (arenn@urbanophile.com)
* @author Tom Tromey (tromey@cygnus.com)
*/
-public class File implements Serializable, Comparable
+public class File implements Serializable, Comparable<File>
{
private static final long serialVersionUID = 301077366599181567L;
/**
* This is the string that is used to separate the host name from the
- * path name in paths than include the host name. It is the value of
+ * path name in paths that include the host name. It is the value of
* the <code>path.separator</code> system property.
*/
public static final String pathSeparator
* This method initializes a new <code>File</code> object to represent
* a file corresponding to the specified <code>file:</code> protocol URI.
*
- * @param uri The uri.
+ * @param uri The URI
+ * @throws IllegalArgumentException if the URI is not hierarchical
*/
public File(URI uri)
{
/**
* This method returns a <code>String</code> the represents this file's
* parent. <code>null</code> is returned if the file has no parent. The
- * parent is determined via a simple operation which removes the
+ * parent is determined via a simple operation which removes the name
+ * after the last file separator character, as determined by the platform.
*
* @return The parent directory of this file
*/
return path.compareToIgnoreCase (other.path);
}
- /**
- * This method compares the specified <code>Object</code> to this one
- * to test for equality. It does this by comparing the canonical path names
- * of the files. This method is identical to <code>compareTo(File)</code>
- * except that if the <code>Object</code> passed to it is not a
- * <code>File</code>, it throws a <code>ClassCastException</code>
- * <p>
- * The canonical paths of the files are determined by calling the
- * <code>getCanonicalPath</code> method on each object.
- * <p>
- * This method returns a 0 if the specified <code>Object</code> is equal
- * to this one, a negative value if it is less than this one
- * a positive value if it is greater than this one.
- *
- * @return An integer as described above
- *
- * @exception ClassCastException If the passed <code>Object</code> is
- * not a <code>File</code>
- *
- * @since 1.2
- */
- public int compareTo(Object obj)
- {
- return compareTo((File) obj);
- }
-
/*
* This native method actually performs the rename.
*/
{
// FIXME: fail if impossible to share class data
}
-
+ else
+ {
+ // Unrecognized.
+ return -1;
+ }
return 0;
}
JVMTI::enabled = true;
continue;
}
- else if (vm_args->ignoreUnrecognized)
+ else
{
+ int r = -1;
if (option_string[0] == '_')
- parse_x_arg (option_string + 1);
- else if (! strncmp (option_string, "-X", 2))
- parse_x_arg (option_string + 2);
- else
+ r = parse_x_arg (option_string + 1);
+ else if (! strncmp (option_string, "-X", 2))
+ r = parse_x_arg (option_string + 2);
+
+ if (r == -1 && ! vm_args->ignoreUnrecognized)
{
- unknown_option:
fprintf (stderr, "libgcj: unknown option: %s\n", option_string);
return -1;
}
}
- else
- goto unknown_option;
}
return 0;
}