4239752: FileSystem should be a platform-specific class to avoid native code
Reviewed-by: alanb, dholmes, erikj, jgish
This commit is contained in:
parent
020472d122
commit
ed483ab38b
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@ -66,6 +66,7 @@ FILES_export = \
|
||||
java/util/prefs/FileSystemPreferences.java \
|
||||
java/io/Console.java \
|
||||
java/io/FileDescriptor.java \
|
||||
java/io/DefaultFileSystem.java \
|
||||
java/io/InputStream.java \
|
||||
java/io/FileInputStream.java \
|
||||
java/io/FileOutputStream.java \
|
||||
@ -142,6 +143,7 @@ FILES_export = \
|
||||
java/io/Console.java \
|
||||
java/io/FileSystem.java \
|
||||
java/io/FileDescriptor.java \
|
||||
java/io/DefaultFileSystem.java \
|
||||
java/io/InputStream.java \
|
||||
java/io/FileInputStream.java \
|
||||
java/io/FileOutputStream.java \
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@ -32,7 +32,6 @@ FILES_c = \
|
||||
Compiler.c \
|
||||
Console_md.c \
|
||||
Double.c \
|
||||
FileSystem_md.c \
|
||||
FileDescriptor_md.c \
|
||||
FileInputStream.c \
|
||||
FileInputStream_md.c \
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@ -438,6 +438,7 @@ JAVA_JAVA_java = \
|
||||
java/io/File.java \
|
||||
java/io/FileSystem.java \
|
||||
java/io/FileDescriptor.java \
|
||||
java/io/DefaultFileSystem.java \
|
||||
java/io/FilenameFilter.java \
|
||||
java/io/FileFilter.java \
|
||||
java/io/FilePermission.java \
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@ -87,7 +87,6 @@ SUNWprivate_1.1 {
|
||||
Java_java_io_FileOutputStream_open;
|
||||
Java_java_io_FileOutputStream_write;
|
||||
Java_java_io_FileOutputStream_writeBytes;
|
||||
Java_java_io_FileSystem_getFileSystem;
|
||||
Java_java_io_ObjectInputStream_bytesToDoubles;
|
||||
Java_java_io_ObjectInputStream_bytesToFloats;
|
||||
Java_java_io_ObjectOutputStream_doublesToBytes;
|
||||
|
@ -312,7 +312,8 @@ $(eval $(call SetupJavaCompilation,BUILD_JDK,\
|
||||
JDK_BASE_HEADER_CLASSES:=java.lang.Integer \
|
||||
java.lang.Long \
|
||||
java.net.SocketOptions \
|
||||
sun.nio.ch.IOStatus
|
||||
sun.nio.ch.IOStatus \
|
||||
java.io.FileSystem
|
||||
|
||||
JDK_BASE_HEADER_JAVA_FILES:=$(patsubst %,$(JDK_TOPDIR)/src/share/classes/%.java,\
|
||||
$(subst .,/,$(JDK_BASE_HEADER_CLASSES)))
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@ -87,7 +87,6 @@ SUNWprivate_1.1 {
|
||||
Java_java_io_FileOutputStream_open;
|
||||
Java_java_io_FileOutputStream_write;
|
||||
Java_java_io_FileOutputStream_writeBytes;
|
||||
Java_java_io_FileSystem_getFileSystem;
|
||||
Java_java_io_ObjectInputStream_bytesToDoubles;
|
||||
Java_java_io_ObjectInputStream_bytesToFloats;
|
||||
Java_java_io_ObjectOutputStream_doublesToBytes;
|
||||
|
@ -153,7 +153,7 @@ public class File
|
||||
/**
|
||||
* The FileSystem object representing the platform's local file system.
|
||||
*/
|
||||
private static final FileSystem fs = FileSystem.getFileSystem();
|
||||
private static final FileSystem fs = DefaultFileSystem.getFileSystem();
|
||||
|
||||
/**
|
||||
* This abstract pathname's normalized pathname string. A normalized
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -32,13 +32,6 @@ package java.io;
|
||||
|
||||
abstract class FileSystem {
|
||||
|
||||
/**
|
||||
* Return the FileSystem object representing this platform's local
|
||||
* filesystem.
|
||||
*/
|
||||
public static native FileSystem getFileSystem();
|
||||
|
||||
|
||||
/* -- Normalization and construction -- */
|
||||
|
||||
/**
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -23,13 +23,18 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
#include "jni.h"
|
||||
#include "jni_util.h"
|
||||
#include "java_io_FileSystem.h"
|
||||
package java.io;
|
||||
|
||||
/**
|
||||
*
|
||||
* @since 1.8
|
||||
*/
|
||||
class DefaultFileSystem {
|
||||
|
||||
JNIEXPORT jobject JNICALL
|
||||
Java_java_io_FileSystem_getFileSystem(JNIEnv *env, jclass ignored)
|
||||
{
|
||||
return JNU_NewObjectByName(env, "java/io/UnixFileSystem", "()V");
|
||||
/**
|
||||
* Return the FileSystem object for Unix-based platform.
|
||||
*/
|
||||
public static FileSystem getFileSystem() {
|
||||
return new UnixFileSystem();
|
||||
}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -23,12 +23,18 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
#include "jni.h"
|
||||
#include "jni_util.h"
|
||||
package java.io;
|
||||
|
||||
JNIEXPORT jobject JNICALL
|
||||
Java_java_io_FileSystem_getFileSystem(JNIEnv *env, jclass ignored)
|
||||
{
|
||||
return JNU_NewObjectByName(env, "java/io/WinNTFileSystem", "()V");
|
||||
/**
|
||||
*
|
||||
* @since 1.8
|
||||
*/
|
||||
class DefaultFileSystem {
|
||||
|
||||
/**
|
||||
* Return the FileSystem object for Windows platform.
|
||||
*/
|
||||
public static FileSystem getFileSystem() {
|
||||
return new WinNTFileSystem();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user