diff options
Diffstat (limited to 'src/main/java/org/glavo/javah/ClassPath.java')
-rw-r--r-- | src/main/java/org/glavo/javah/ClassPath.java | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/main/java/org/glavo/javah/ClassPath.java b/src/main/java/org/glavo/javah/ClassPath.java new file mode 100644 index 0000000..552cb9e --- /dev/null +++ b/src/main/java/org/glavo/javah/ClassPath.java @@ -0,0 +1,32 @@ +package org.glavo.javah; + +import java.io.IOException; +import java.io.UncheckedIOException; +import java.nio.file.FileSystem; +import java.nio.file.FileSystems; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.List; +import java.util.Objects; + +public class ClassPath implements SearchPath { + private final Path path; + private final List<Path> searchPaths; + + public ClassPath(Path path) { + Objects.requireNonNull(path); + this.path = path; + searchPaths = Utils.getPathsFrom(path); + } + + @Override + public Path searchClass(String className) { + Objects.requireNonNull(className); + return Utils.searchFrom(searchPaths, className); + } + + @Override + public String toString() { + return "ClassPath[" + path + "]"; + } +} |