00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 package com.realtime.crossfire.jxclient.skin.source;
00023
00024 import com.realtime.crossfire.jxclient.skin.skin.JXCSkinException;
00025 import java.io.File;
00026 import java.io.FileInputStream;
00027 import java.io.IOException;
00028 import java.io.InputStream;
00029 import org.jetbrains.annotations.NotNull;
00030
00035 public class JXCSkinDirSource extends AbstractJXCSkinSource {
00036
00040 @NotNull
00041 private final File dir;
00042
00048 public JXCSkinDirSource(@NotNull final File dir) throws JXCSkinException {
00049 this.dir = dir;
00050 checkAccess();
00051 }
00052
00056 @NotNull
00057 @Override
00058 public InputStream getInputStream(@NotNull final String name) throws IOException {
00059 return new FileInputStream(new File(dir, name));
00060 }
00061
00065 @NotNull
00066 @Override
00067 public String getURI(@NotNull final String name) {
00068 return "file:"+new File(dir, name);
00069 }
00070
00071 }