= Configs updating

This commit is contained in:
Matthew Cech
2019-11-02 19:13:26 -08:00
parent ee60721897
commit 7f2251732e
5 changed files with 92 additions and 5 deletions
+1
View File
@@ -28,6 +28,7 @@ public class Config
sections = new Vector<IConfigSection>(); sections = new Vector<IConfigSection>();
// Add all sections // Add all sections
sections.add(new ConfigGlobals());
sections.add(new LocCommands()); sections.add(new LocCommands());
sections.add(new LocStrings()); sections.add(new LocStrings());
sections.add(new CommandEnabler()); sections.add(new CommandEnabler());
+68
View File
@@ -0,0 +1,68 @@
package core;
import java.util.ArrayList;
import java.util.List;
import dataStructures.KittyStartupMode;
import utils.GlobalLog;
// Want to add a single item to the config file? This is where that lives.
public class ConfigGlobals implements IConfigSection
{
// Defined const variables
public static final String header = "Globals";
public static ConfigGlobals instance;
// A pile of variables being manually tracked/serialized to the config file
private static final String startupStyleKey = "mode";
private KittyStartupMode startupStyleValue = KittyStartupMode.Development;
// Constructor
public ConfigGlobals()
{
if(instance == null)
instance = this;
else
GlobalLog.error("Attempted to initialize a second config globals! Probably don't do this!");
}
@Override
public String getSectionTitle()
{
return header;
}
public static KittyStartupMode getStartupMode()
{
return instance.startupStyleValue;
}
@Override
public void consume(List<ConfigItem> pairs)
{
for(int i = 0; i < pairs.size(); ++i)
{
String key = pairs.get(i).key;
String value = pairs.get(i).value;
// Parse startup style
if(key.equalsIgnoreCase(startupStyleKey))
{
startupStyleValue = KittyStartupMode.Development;
if(value.equalsIgnoreCase(KittyStartupMode.Release.getValue()))
startupStyleValue = KittyStartupMode.Release;
}
}
}
@Override
public List<ConfigItem> produce()
{
List<ConfigItem> items = new ArrayList<ConfigItem>();
items.add(new ConfigItem(getSectionTitle(), startupStyleKey, startupStyleValue.getValue()));
return items;
}
}
+3 -3
View File
@@ -6,9 +6,9 @@ import utils.StringUtils;
// perform any parsing past naming columns, and just holds the raw data. // perform any parsing past naming columns, and just holds the raw data.
public class ConfigItem public class ConfigItem
{ {
public String type; public String type; // The section this specific key/value pair belongs to. This almost certainly will appear in multiple places.
public String key; public String key; // A unique key for a given lookup value for the specified section. Keys, within sections, are unique.
public String value; public String value; // The value assocaited with the key.
public static final int items = 3; public static final int items = 3;
public static final String[] header = {"Type","Key","Value"}; public static final String[] header = {"Type","Key","Value"};
+2 -2
View File
@@ -11,7 +11,7 @@ import dataStructures.Pair;
public class LocCommands extends BaseLocFile implements IConfigSection public class LocCommands extends BaseLocFile implements IConfigSection
{ {
// Defined const variables // Defined const variables
public static final String HeaderName = "Localized Commands"; public static final String header = "Localized Commands";
public static final String function = "LocCommands.stub"; public static final String function = "LocCommands.stub";
// Instance // Instance
@@ -20,7 +20,7 @@ public class LocCommands extends BaseLocFile implements IConfigSection
// Constructor // Constructor
public LocCommands() public LocCommands()
{ {
super(HeaderName, function); super(header, function);
GlobalLog.log(LogFilter.Core, "Initializing " + this.getClass().getSimpleName()); GlobalLog.log(LogFilter.Core, "Initializing " + this.getClass().getSimpleName());
+18
View File
@@ -0,0 +1,18 @@
package dataStructures;
public enum KittyStartupMode
{
Development("dev"), Release("release");
private final String value;
private KittyStartupMode(String value)
{
this.value = value;
}
public String getValue()
{
return value;
}
}