aoqi@0: aoqi@0: package com.sun.tools.javac.file; aoqi@0: aoqi@0: import java.io.File; aoqi@0: import java.io.IOException; aoqi@0: import java.util.ArrayList; aoqi@0: import java.util.Collections; aoqi@0: import java.util.List; aoqi@0: import java.util.StringTokenizer; aoqi@0: import java.util.jar.Attributes; aoqi@0: import java.util.jar.JarFile; aoqi@0: import java.util.jar.Manifest; aoqi@0: aoqi@0: import com.sun.tools.javac.util.Context; aoqi@0: aoqi@0: /** aoqi@0: * Get meta-info about files. Default direct (non-caching) implementation. aoqi@0: * @see CacheFSInfo aoqi@0: * aoqi@0: *
This is NOT part of any supported API.
aoqi@0: * If you write code that depends on this, you do so at your own risk.
aoqi@0: * This code and its internal interfaces are subject to change or
aoqi@0: * deletion without notice.
aoqi@0: */
aoqi@0: public class FSInfo {
aoqi@0:
aoqi@0: /** Get the FSInfo instance for this context.
aoqi@0: * @param context the context
aoqi@0: * @return the Paths instance for this context
aoqi@0: */
aoqi@0: public static FSInfo instance(Context context) {
aoqi@0: FSInfo instance = context.get(FSInfo.class);
aoqi@0: if (instance == null)
aoqi@0: instance = new FSInfo();
aoqi@0: return instance;
aoqi@0: }
aoqi@0:
aoqi@0: protected FSInfo() {
aoqi@0: }
aoqi@0:
aoqi@0: protected FSInfo(Context context) {
aoqi@0: context.put(FSInfo.class, this);
aoqi@0: }
aoqi@0:
aoqi@0: public File getCanonicalFile(File file) {
aoqi@0: try {
aoqi@0: return file.getCanonicalFile();
aoqi@0: } catch (IOException e) {
aoqi@0: return file.getAbsoluteFile();
aoqi@0: }
aoqi@0: }
aoqi@0:
aoqi@0: public boolean exists(File file) {
aoqi@0: return file.exists();
aoqi@0: }
aoqi@0:
aoqi@0: public boolean isDirectory(File file) {
aoqi@0: return file.isDirectory();
aoqi@0: }
aoqi@0:
aoqi@0: public boolean isFile(File file) {
aoqi@0: return file.isFile();
aoqi@0: }
aoqi@0:
aoqi@0: public List