= Updated tracked stuff
This commit is contained in:
@@ -4,7 +4,7 @@ package core;
|
|||||||
// have their data populated from database entries.
|
// have their data populated from database entries.
|
||||||
public abstract class DatabaseTrackedObject
|
public abstract class DatabaseTrackedObject
|
||||||
{
|
{
|
||||||
private boolean isDirty;
|
private Boolean isDirty;
|
||||||
public final String identifier;
|
public final String identifier;
|
||||||
|
|
||||||
public DatabaseTrackedObject(String identifier)
|
public DatabaseTrackedObject(String identifier)
|
||||||
@@ -14,19 +14,28 @@ public abstract class DatabaseTrackedObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final boolean IsDirty()
|
public final boolean IsDirty()
|
||||||
|
{
|
||||||
|
synchronized(isDirty)
|
||||||
{
|
{
|
||||||
return isDirty;
|
return isDirty;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public final void MarkDirty()
|
public final void MarkDirty()
|
||||||
|
{
|
||||||
|
synchronized(isDirty)
|
||||||
{
|
{
|
||||||
isDirty = true;
|
isDirty = true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public final void Resolve()
|
public final void Resolve()
|
||||||
|
{
|
||||||
|
synchronized(isDirty)
|
||||||
{
|
{
|
||||||
isDirty = false;
|
isDirty = false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Consider an object factory instead of dedicated serialization methods
|
// Consider an object factory instead of dedicated serialization methods
|
||||||
// if this starts to become impractical. For now, it works.
|
// if this starts to become impractical. For now, it works.
|
||||||
|
|||||||
@@ -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;
|
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
|
public class KittyTrackedVector extends DatabaseTrackedObject
|
||||||
{
|
{
|
||||||
// Variables
|
// Variables
|
||||||
private Vector<String> allowedRole = new Vector<String>();
|
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 delimiter = "\n";
|
||||||
private final static String split = "\\n";
|
private final static String split = "\\n";
|
||||||
@@ -21,7 +18,6 @@ public class KittyTrackedVector extends DatabaseTrackedObject
|
|||||||
public KittyTrackedVector(String readableName, String UniqueID)
|
public KittyTrackedVector(String readableName, String UniqueID)
|
||||||
{
|
{
|
||||||
super(differentiator + readableName + UniqueID);
|
super(differentiator + readableName + UniqueID);
|
||||||
databaseID = differentiator + readableName + UniqueID;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user