langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/BaseFileObject.java
changeset 34569 8b372e28f106
parent 34559 9229cc3b3802
parent 34568 afc0330fa0d4
child 34570 8a8f52a733dd
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/BaseFileObject.java	Thu Dec 10 08:17:12 2015 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
- * Copyright (c) 2005, 2014, 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
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.tools.javac.file;
-
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.nio.charset.CharsetDecoder;
-import java.nio.file.Path;
-
-import javax.lang.model.element.Modifier;
-import javax.lang.model.element.NestingKind;
-import javax.tools.FileObject;
-import javax.tools.JavaFileObject;
-
-import com.sun.tools.javac.util.DefinedBy;
-import com.sun.tools.javac.util.DefinedBy.Api;
-
-/**
- * <p><b>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.</b>
-*/
-public abstract class BaseFileObject implements JavaFileObject {
-    protected BaseFileObject(JavacFileManager fileManager) {
-        this.fileManager = fileManager;
-    }
-
-    /** Return a short name for the object, such as for use in raw diagnostics
-     */
-    public abstract String getShortName();
-
-    @Override
-    public String toString() {
-        return getClass().getSimpleName() + "[" + getName() + "]";
-    }
-
-    @DefinedBy(Api.COMPILER)
-    public NestingKind getNestingKind() { return null; }
-
-    @DefinedBy(Api.COMPILER)
-    public Modifier getAccessLevel()  { return null; }
-
-    @DefinedBy(Api.COMPILER)
-    public Reader openReader(boolean ignoreEncodingErrors) throws IOException {
-        return new InputStreamReader(openInputStream(), getDecoder(ignoreEncodingErrors));
-    }
-
-    protected CharsetDecoder getDecoder(boolean ignoreEncodingErrors) {
-        throw new UnsupportedOperationException();
-    }
-
-    protected abstract String inferBinaryName(Iterable<? extends Path> path);
-
-    protected static JavaFileObject.Kind getKind(String filename) {
-        return BaseFileManager.getKind(filename);
-    }
-
-    protected static String removeExtension(String fileName) {
-        int lastDot = fileName.lastIndexOf(".");
-        return (lastDot == -1 ? fileName : fileName.substring(0, lastDot));
-    }
-
-    protected static URI createJarUri(Path jarFile, String entryName) {
-        URI jarURI = jarFile.toUri().normalize();
-        String separator = entryName.startsWith("/") ? "!" : "!/";
-        try {
-            // The jar URI convention appears to be not to re-encode the jarURI
-            return new URI("jar:" + jarURI + separator + entryName);
-        } catch (URISyntaxException e) {
-            throw new CannotCreateUriError(jarURI + separator + entryName, e);
-        }
-    }
-
-    /** Used when URLSyntaxException is thrown unexpectedly during
-     *  implementations of (Base)FileObject.toURI(). */
-    protected static class CannotCreateUriError extends Error {
-        private static final long serialVersionUID = 9101708840997613546L;
-        public CannotCreateUriError(String value, Throwable cause) {
-            super(value, cause);
-        }
-    }
-
-    /** Return the last component of a presumed hierarchical URI.
-     *  From the scheme specific part of the URI, it returns the substring
-     *  after the last "/" if any, or everything if no "/" is found.
-     */
-    public static String getSimpleName(FileObject fo) {
-        URI uri = fo.toUri();
-        String s = uri.getSchemeSpecificPart();
-        return s.substring(s.lastIndexOf("/") + 1); // safe when / not found
-
-    }
-
-    // force subtypes to define equals
-    @Override
-    public abstract boolean equals(Object other);
-
-    // force subtypes to define hashCode
-    @Override
-    public abstract int hashCode();
-
-    /** The file manager that created this JavaFileObject. */
-    protected final JavacFileManager fileManager;
-}