diff options
author | ElgarL <ElgarL@Palmergames.com> | 2014-04-14 22:19:14 +0100 |
---|---|---|
committer | KHobbits <rob@khobbits.co.uk> | 2014-05-04 12:50:17 +0100 |
commit | ae2f78b535d5c4cf5e645cf57e7cef9328fd66d7 (patch) | |
tree | fdf557e5eeaf1dc984bc379a82e21642209dcd38 /EssentialsGroupManager/src/org/anjocaido/groupmanager/data/DataUnit.java | |
parent | 226f921819a9bc395595f2089d70f13d4bdeee2d (diff) | |
download | Essentials-ae2f78b535d5c4cf5e645cf57e7cef9328fd66d7.tar Essentials-ae2f78b535d5c4cf5e645cf57e7cef9328fd66d7.tar.gz Essentials-ae2f78b535d5c4cf5e645cf57e7cef9328fd66d7.tar.lz Essentials-ae2f78b535d5c4cf5e645cf57e7cef9328fd66d7.tar.xz Essentials-ae2f78b535d5c4cf5e645cf57e7cef9328fd66d7.zip |
v2.1: - Update for CraftBukkit 1.7.8-R0.1(3050). - Add UUID support. Plugins can still query by player name but a UUID is faster and preferable.
Diffstat (limited to 'EssentialsGroupManager/src/org/anjocaido/groupmanager/data/DataUnit.java')
-rw-r--r-- | EssentialsGroupManager/src/org/anjocaido/groupmanager/data/DataUnit.java | 41 |
1 files changed, 29 insertions, 12 deletions
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/DataUnit.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/DataUnit.java index 48d0e55e9..36c26bb1d 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/DataUnit.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/DataUnit.java @@ -19,19 +19,20 @@ import org.anjocaido.groupmanager.utils.StringPermissionComparator; public abstract class DataUnit { private WorldDataHolder dataSource; - private String name; + private String uUID; + private String lastName; private boolean changed, sorted = false; private List<String> permissions = Collections.unmodifiableList(Collections.<String>emptyList()); public DataUnit(WorldDataHolder dataSource, String name) { this.dataSource = dataSource; - this.name = name; + this.uUID = name; } public DataUnit(String name) { - this.name = name; + this.uUID = name; } /** @@ -45,7 +46,7 @@ public abstract class DataUnit { if (o instanceof DataUnit) { DataUnit go = (DataUnit) o; - if (this.getName().equalsIgnoreCase(go.getName())) { + if (this.getUUID().equalsIgnoreCase(go.getUUID())) { // Global Group match. if (this.dataSource == null && go.getDataSource() == null) return true; @@ -67,7 +68,7 @@ public abstract class DataUnit { public int hashCode() { int hash = 5; - hash = 71 * hash + (this.name != null ? this.name.toLowerCase().hashCode() : 0); + hash = 71 * hash + (this.uUID != null ? this.uUID.toLowerCase().hashCode() : 0); return hash; } @@ -90,13 +91,29 @@ public abstract class DataUnit { return dataSource; } + + public String getUUID() { - /** - * @return the name - */ - public String getName() { + return uUID; + } + + public String getLastName() { - return name; + if (uUID.length() < 36) + return uUID; + + return lastName; + } + + public void setLastName(String lastName) { + + if (!this.lastName.equals(lastName)) { + + this.lastName = lastName; + changed = true; + + } + } public void flagAsChanged() { @@ -109,7 +126,7 @@ public abstract class DataUnit { else source = testSource.getName(); - GroupManager.logger.finest("DataSource: " + source + " - DataUnit: " + getName() + " flagged as changed!"); + GroupManager.logger.finest("DataSource: " + source + " - DataUnit: " + getUUID() + " flagged as changed!"); // for(StackTraceElement st: Thread.currentThread().getStackTrace()){ // GroupManager.logger.finest(st.toString()); // } @@ -132,7 +149,7 @@ public abstract class DataUnit { else source = testSource.getName(); - GroupManager.logger.finest("DataSource: " + source + " - DataUnit: " + getName() + " flagged as saved!"); + GroupManager.logger.finest("DataSource: " + source + " - DataUnit: " + getUUID() + " flagged as saved!"); changed = false; } |