package org.bundlemaker.core.common.utils;
import java.io.File;
import org.bundlemaker.core.common.internal.fileinfo.FileBasedProjectContentInfoServiceImpl;
/**
* <p>
* </p>
*
* @author Gerd Wütherich (gerd@gerd-wuetherich.de)
*/
public interface IFileBasedProjectContentInfo {
/**
* <p>
* Returns the (guessed) name of a file based project content entry.
* </p>
*
* @return the (guessed) name of a file based project content entry.
*/
public String getName();
/**
* <p>
* Returns the (guessed) version of a file based project content entry.
* </p>
*
* @return the (guessed) version of a file based project content entry.
*/
public String getVersion();
/**
* <p>
* Returns <code>true</code> if this project content entry is a (guessed) source entry, <code>false</code> otherwise.
* </p>
*
* @return <code>true</code> if this project content entry is a (guessed) source entry, <code>false</code> otherwise.
*/
public boolean isSource();
/**
* <p>
* If this project content entry is a (guessed) source entry, this method returns the (guessed) name of the associated
* binary file.
* </p>
*
*
* @return the binaryName
*/
public String getBinaryName();
/**
* <p>
* </p>
*
* @author Gerd Wütherich (gerd@gerd-wuetherich.de)
*
*/
public static class Factory {
/**
* <p>
* </p>
*
* @param file
* @return
*/
public static IFileBasedProjectContentInfo extractFileBasedProjectContentInfo(File file) {
return new FileBasedProjectContentInfoServiceImpl().extractJarInfo(file);
}
}
}