package me.desht.scrollingmenusign;
import java.io.File;
import me.desht.dhutils.LogUtils;
public class DirectoryStructure {
private static File pluginDir;
private static File dataDir, menusDir, viewsDir, varsDir, macrosDir, imgCacheDir, fontsDir, scriptsDir;
private static File commandFile;
private static final String dataDirName = "data";
private static final String menusDirName = "menus";
private static final String viewsDirName = "views";
private static final String macrosDirName = "macros";
private static final String varsDirName = "variables";
private static final String imgCacheDirName = "imagecache";
private static final String commandFileName = "commands.yml";
private static final String fontsDirName = "fonts";
private static final String scriptsDirName = "scripts";
static void setupDirectoryStructure() {
pluginDir = ScrollingMenuSign.getInstance().getDataFolder();
commandFile = new File(pluginDir, commandFileName);
dataDir = new File(pluginDir, dataDirName);
menusDir = new File(dataDir, menusDirName);
viewsDir = new File(dataDir, viewsDirName);
varsDir = new File(dataDir, varsDirName);
macrosDir = new File(dataDir, macrosDirName);
imgCacheDir = new File(pluginDir, imgCacheDirName);
fontsDir = new File(pluginDir, fontsDirName);
scriptsDir = new File(pluginDir, scriptsDirName);
createDirectory(pluginDir);
createDirectory(dataDir);
createDirectory(menusDir);
createDirectory(viewsDir);
createDirectory(varsDir);
createDirectory(macrosDir);
createDirectory(imgCacheDir);
createDirectory(fontsDir);
createDirectory(scriptsDir);
}
private static void createDirectory(File dir) {
if (dir.isDirectory()) {
return;
}
if (!dir.mkdir()) {
LogUtils.severe("Can't create directory " + dir.getName()); //$NON-NLS-1$
}
}
public static File getCommandFile() {
return commandFile;
}
public static File getPluginFolder() {
return pluginDir;
}
public static File getDataFolder() {
return dataDir;
}
public static File getMenusFolder() {
return menusDir;
}
public static File getMacrosFolder() {
return macrosDir;
}
public static File getViewsFolder() {
return viewsDir;
}
public static File getImgCacheFolder() {
return imgCacheDir;
}
public static File getVarsFolder() {
return varsDir;
}
public static File getFontsFolder() {
return fontsDir;
}
public static File getScriptsFolder() {
return scriptsDir;
}
}