diff -r 024ed9c9ed13 -r 83c19f00452c langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/FSInfo.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/FSInfo.java Sun Aug 17 15:52:32 2014 +0100 @@ -0,0 +1,94 @@ + +package com.sun.tools.javac.file; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.StringTokenizer; +import java.util.jar.Attributes; +import java.util.jar.JarFile; +import java.util.jar.Manifest; + +import com.sun.tools.javac.util.Context; + +/** + * Get meta-info about files. Default direct (non-caching) implementation. + * @see CacheFSInfo + * + *
This is NOT part of any supported API.
+ * If you write code that depends on this, you do so at your own risk.
+ * This code and its internal interfaces are subject to change or
+ * deletion without notice.
+ */
+public class FSInfo {
+
+ /** Get the FSInfo instance for this context.
+ * @param context the context
+ * @return the Paths instance for this context
+ */
+ public static FSInfo instance(Context context) {
+ FSInfo instance = context.get(FSInfo.class);
+ if (instance == null)
+ instance = new FSInfo();
+ return instance;
+ }
+
+ protected FSInfo() {
+ }
+
+ protected FSInfo(Context context) {
+ context.put(FSInfo.class, this);
+ }
+
+ public File getCanonicalFile(File file) {
+ try {
+ return file.getCanonicalFile();
+ } catch (IOException e) {
+ return file.getAbsoluteFile();
+ }
+ }
+
+ public boolean exists(File file) {
+ return file.exists();
+ }
+
+ public boolean isDirectory(File file) {
+ return file.isDirectory();
+ }
+
+ public boolean isFile(File file) {
+ return file.isFile();
+ }
+
+ public List