import be.nikiroo.fanfix.Instance;
import be.nikiroo.utils.Image;
+/**
+ * Helper class for {@link BasicSupport}, mostly dedicated to images for
+ * the classes that implement {@link BasicSupport}.
+ *
+ * @author niki
+ */
public class BasicSupportImages {
/**
* Check if the given resource can be a local image or a remote image, then
* refresh the cache with it if it is.
*
+ * @param support
+ * the support to use to download the resource (can be NULL)
* @param dir
* the local directory to search, if any
* @param line
* the resource to check
*
* @return the image if found, or NULL
- *
*/
- static Image getImage(BasicSupport support, File dir, String line) {
+ public Image getImage(BasicSupport support, File dir, String line) {
URL url = getImageUrl(support, dir, line);
+ return getImage(support,url);
+ }
+
+ /**
+ * Check if the given resource can be a local image or a remote image, then
+ * refresh the cache with it if it is.
+ *
+ * @param support
+ * the support to use to download the resource (can be NULL)
+ * @param url
+ * the actual URL to check (file or remote, can be NULL)
+ *
+ * @return the image if found, or NULL
+ */
+ public Image getImage(BasicSupport support, URL url) {
if (url != null) {
if ("file".equals(url.getProtocol())) {
if (new File(url.getPath()).isDirectory()) {
}
InputStream in = null;
try {
- in = Instance.getCache().open(url, support, true);
+ in = Instance.getInstance().getCache().open(url, support, true);
return new Image(in);
} catch (IOException e) {
} finally {
* Check if the given resource can be a local image or a remote image, then
* refresh the cache with it if it is.
*
+ * @param support
+ * the support to use to download the resource (can be NULL)
* @param dir
* the local directory to search, if any
* @param line
* @return the image URL if found, or NULL
*
*/
- static URL getImageUrl(BasicSupport support, File dir, String line) {
+ public URL getImageUrl(BasicSupport support, File dir, String line) {
URL url = null;
if (line != null) {
// try for URLs
try {
for (String ext : getImageExt(true)) {
- if (Instance.getCache()
+ if (Instance.getInstance().getCache()
.check(new URL(line + ext), true)) {
url = new URL(line + ext);
break;
for (String ext : getImageExt(true)) {
try {
url = new URL(line + ext);
- Instance.getCache().refresh(url, support, true);
+ Instance.getInstance().getCache().refresh(url, support, true);
break;
} catch (IOException e) {
// no image with this ext
// refresh the cached file
if (url != null) {
try {
- Instance.getCache().refresh(url, support, true);
+ Instance.getInstance().getCache().refresh(url, support, true);
} catch (IOException e) {
// woops, broken image
url = null;
*
* @return the extensions
*/
- static String[] getImageExt(boolean emptyAllowed) {
+ public String[] getImageExt(boolean emptyAllowed) {
if (emptyAllowed) {
return new String[] { "", ".png", ".jpg", ".jpeg", ".gif", ".bmp" };
}