All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.softicar.platform.common.core.java.classpath.IJavaClasspathRoot Maven / Gradle / Ivy

Go to download

The SoftiCAR Platform is a lightweight, Java-based library to create interactive business web applications.

There is a newer version: 50.0.0
Show newest version
package com.softicar.platform.common.core.java.classpath;

import com.softicar.platform.common.core.java.classes.analyzer.AnalyzedJavaClass;
import com.softicar.platform.common.core.java.classes.analyzer.IAnalyzedJavaClassProvider;
import com.softicar.platform.common.io.classpath.file.IClasspathFile;
import java.io.File;
import java.util.Collection;

/**
 * Represents a root entry of the {@link JavaClasspath}.
 * 

* A root entry is typically a folder or a JAR file. * * @author Oliver Richers */ public interface IJavaClasspathRoot extends IAnalyzedJavaClassProvider { /** * Returns the {@link File} representing this root entry. * * @return the {@link File} (never null) */ File getFile(); /** * Returns all {@link IClasspathFile} instances of this * {@link IJavaClasspathRoot}. * * @return all {@link IClasspathFile} instances (never null) */ Collection getAllFiles(); /** * Returns all {@link IClasspathFile} instances that are not class files. * * @return all resource paths (never null) */ Collection getClassFiles(); /** * Returns all {@link IClasspathFile} instances that are not class files. * * @return all resource paths (never null) */ Collection getResourceFiles(); /** * Returns all classes provided by this {@link IJavaClasspathRoot}. * * @return the {@link AnalyzedJavaClass} objects (never null) */ Collection getAnalyzedClasses(); /** * Tests whether this {@link IJavaClasspathRoot} is a folder. * * @return true if this is a folder; false otherwise */ boolean isFolder(); /** * Tests whether this {@link IJavaClasspathRoot} is a JAR file. * * @return true if this is a JAR file; false otherwise */ boolean isJar(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy