= Updated tracked stuff
This commit is contained in:
@@ -4,7 +4,7 @@ package core;
|
||||
// have their data populated from database entries.
|
||||
public abstract class DatabaseTrackedObject
|
||||
{
|
||||
private boolean isDirty;
|
||||
private Boolean isDirty;
|
||||
public final String identifier;
|
||||
|
||||
public DatabaseTrackedObject(String identifier)
|
||||
@@ -15,17 +15,26 @@ public abstract class DatabaseTrackedObject
|
||||
|
||||
public final boolean IsDirty()
|
||||
{
|
||||
return isDirty;
|
||||
synchronized(isDirty)
|
||||
{
|
||||
return isDirty;
|
||||
}
|
||||
}
|
||||
|
||||
public final void MarkDirty()
|
||||
{
|
||||
isDirty = true;
|
||||
synchronized(isDirty)
|
||||
{
|
||||
isDirty = true;
|
||||
}
|
||||
}
|
||||
|
||||
public final void Resolve()
|
||||
{
|
||||
isDirty = false;
|
||||
synchronized(isDirty)
|
||||
{
|
||||
isDirty = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Consider an object factory instead of dedicated serialization methods
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
package dataStructures;
|
||||
|
||||
import core.DatabaseTrackedObject;
|
||||
import utils.GlobalLog;
|
||||
import utils.LogFilter;
|
||||
|
||||
public class KittyTrackedString extends DatabaseTrackedObject
|
||||
{
|
||||
private String trackedString; // Tracked value
|
||||
private final static String differentiator = "string-";
|
||||
|
||||
// Constructor with unique id and readable name
|
||||
public KittyTrackedString(String readableName, String UniqueID)
|
||||
{
|
||||
super(differentiator + readableName + UniqueID);
|
||||
}
|
||||
|
||||
// Sets the value of the string and marks it as dirty
|
||||
public void set(String newValue)
|
||||
{
|
||||
synchronized(trackedString)
|
||||
{
|
||||
trackedString = newValue;
|
||||
MarkDirty();
|
||||
}
|
||||
}
|
||||
|
||||
// Returns string. The string is copied because it is immutable.
|
||||
public String get()
|
||||
{
|
||||
synchronized(trackedString)
|
||||
{
|
||||
return trackedString;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String Serialize()
|
||||
{
|
||||
return trackedString;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void DeSerialzie(String string)
|
||||
{
|
||||
if(string != null && !string.isEmpty())
|
||||
{
|
||||
trackedString = string;
|
||||
}
|
||||
else
|
||||
{
|
||||
GlobalLog.Log(LogFilter.Database, "String had null or empty value with identifier: " + identifier);
|
||||
string = "";
|
||||
MarkDirty();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -5,13 +5,10 @@ import java.util.Vector;
|
||||
|
||||
import core.DatabaseTrackedObject;
|
||||
|
||||
// Acts as a proxy of sorts for the allowedRole arraylist, keeping it tracked for a specific guild.
|
||||
@SuppressWarnings("unused")
|
||||
public class KittyTrackedVector extends DatabaseTrackedObject
|
||||
{
|
||||
// Variables
|
||||
private Vector<String> allowedRole = new Vector<String>();
|
||||
private final String databaseID; // in-database ID of this value
|
||||
|
||||
private final static String delimiter = "\n";
|
||||
private final static String split = "\\n";
|
||||
@@ -21,7 +18,6 @@ public class KittyTrackedVector extends DatabaseTrackedObject
|
||||
public KittyTrackedVector(String readableName, String UniqueID)
|
||||
{
|
||||
super(differentiator + readableName + UniqueID);
|
||||
databaseID = differentiator + readableName + UniqueID;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user