It is used at boot time in the launcher, and cannot make use of any of Ant's other classes.
This is a surprisingly brittle piece of code, and has had lots of bugs filed against it: running ant off a network share can cause Ant to fail, use File.toURI().toURL().toExternalForm(), Locator implementation not encoding URI strings properly: spaces in paths. It also breaks Eclipse 3.3 Betas: Exception if installation path has spaces.
Be very careful when making changes to this class, as a break will upset a lot of people.
| Modifier and Type | Field and Description |
|---|---|
| private static final int | |
| private static final int | |
| private static final int | |
| public static final String | ERROR_NOT_FILE_URI
Error string used when an invalid uri is seen |
| private static char[] | |
| private static char[] | |
| private static char[] | |
| private static boolean[] | |
| private static final int | |
| private static final int | |
| private static final int | |
| private static final int |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| public static String | |
| public static String | |
| public static URL | |
| public static String | Returns: the decoded URIuri to expand; contains jar: somewhere in it uri)Crack a JAR URI. |
| public static String | |
| public static File | Returns: the file or jar with the class or null if we cannot determine the location.the class whose location is required. c)Find the directory or jar file the class has been loaded from. |
| public static URL[] | Returns: an array of URLs for all jars in the given location.the location to scan for Jars. location)Get an array of URLs representing all of the jar files in the given location. |
| public static URL[] | Returns: an array of URLs of matching files.the location to scan for files. location, final String... an array of extension that are to match in the
directory search. extensions)Get an array of URLs representing all of the files of a given set of extensions in the given location. |
| public static File | Returns: the file with the resource source or null if we cannot determine the location.the classloader to be consulted for the source. c, String the resource whose location is required. resource)Find the directory or jar a given resource has been loaded from. |
| public static File | Returns: the tools jar as a File if required, null otherwise.Get the File necessary to load the Sun compiler tools. |
| ASCII_SIZE | back to summary |
|---|---|
| private static final int ASCII_SIZE | |
| BYTE_SIZE | back to summary |
|---|---|
| private static final int BYTE_SIZE | |
| DEL | back to summary |
|---|---|
| private static final int DEL | |
| ERROR_NOT_FILE_URI | back to summary |
|---|---|
| public static final String ERROR_NOT_FILE_URI Error string used when an invalid uri is seen | |
| gAfterEscaping1 | back to summary |
|---|---|
| private static char[] gAfterEscaping1 | |
| gAfterEscaping2 | back to summary |
|---|---|
| private static char[] gAfterEscaping2 | |
| gHexChs | back to summary |
|---|---|
| private static char[] gHexChs | |
| gNeedEscaping | back to summary |
|---|---|
| private static boolean[] gNeedEscaping | |
| NIBBLE | back to summary |
|---|---|
| private static final int NIBBLE | |
| NIBBLE_MASK | back to summary |
|---|---|
| private static final int NIBBLE_MASK | |
| SPACE | back to summary |
|---|---|
| private static final int SPACE | |
| WORD | back to summary |
|---|---|
| private static final int WORD | |
| Locator | back to summary |
|---|---|
| private Locator() Not instantiable | |
| decodeUri | back to summary |
|---|---|
| public static String decodeUri(String uri) throws UnsupportedEncodingException Decodes an Uri with % characters. The URI is escaped
| |
| encodeURI | back to summary |
|---|---|
| public static String encodeURI(String path) Encodes an Uri with % characters. The URI is escaped | |
| fileToURL | back to summary |
|---|---|
| public static URL fileToURL(File file) throws MalformedURLException
Deprecated since 1.9, use Convert a File to a URL. File.toURL() does not encode characters like #. File.toURI() has been introduced in java 1.4, so Ant cannot use it (except by reflection) File.toURI() cannot be used by Locator.java Implemented this way. File.toURL() adds file: and changes '\' to '/' for dos OSes encodeURI converts characters like ' ' and '#' to %DD
| |
| fromJarURI | back to summary |
|---|---|
| public static String fromJarURI(String uri) Crack a JAR URI. This method is public for testing; we may delete it without any warning -it is not part of Ant's stable API. | |
| fromURI | back to summary |
|---|---|
| public static String fromURI(String uri) Constructs a file path from a Will be an absolute path if the given URI is absolute. Prior to Java 1.4, swallows '%' that are not followed by two characters. See dt-sysid which makes some mention of how characters not supported by URI Reference syntax should be escaped.
| |
| getClassSource | back to summary |
|---|---|
| public static File getClassSource(Class<?> c) Find the directory or jar file the class has been loaded from. | |
| getLocationURLs | back to summary |
|---|---|
| public static URL[] getLocationURLs(File location) throws MalformedURLException Get an array of URLs representing all of the jar files in the given location. If the location is a file, it is returned as the only element of the array. If the location is a directory, it is scanned for jar files.
| |
| getLocationURLs | back to summary |
|---|---|
| public static URL[] getLocationURLs(File location, final String... extensions) throws MalformedURLException Get an array of URLs representing all of the files of a given set of extensions in the given location. If the location is a file, it is returned as the only element of the array. If the location is a directory, it is scanned for matching files.
| |
| getResourceSource | back to summary |
|---|---|
| public static File getResourceSource(ClassLoader c, String resource) Find the directory or jar a given resource has been loaded from.
| |
| getToolsJar | back to summary |
|---|---|
| public static File getToolsJar() Get the File necessary to load the Sun compiler tools. If the classes are available to this class, then no additional URL is required and null is returned. This may be because the classes are explicitly in the class path or provided by the JVM directly.
| |