0.5h More Named, Identified and Colorized
This commit is contained in:
parent
f92b042cca
commit
a2e390f2b3
8
src/com/massivecraft/massivecore/Colorized.java
Normal file
8
src/com/massivecraft/massivecore/Colorized.java
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
package com.massivecraft.massivecore;
|
||||||
|
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
|
||||||
|
public interface Colorized
|
||||||
|
{
|
||||||
|
public ChatColor getColor();
|
||||||
|
}
|
@ -16,7 +16,7 @@ import com.massivecraft.massivecore.util.Txt;
|
|||||||
import com.massivecraft.massivecore.xlib.gson.Gson;
|
import com.massivecraft.massivecore.xlib.gson.Gson;
|
||||||
import com.massivecraft.massivecore.xlib.gson.GsonBuilder;
|
import com.massivecraft.massivecore.xlib.gson.GsonBuilder;
|
||||||
|
|
||||||
public abstract class MassivePlugin extends JavaPlugin implements Listener
|
public abstract class MassivePlugin extends JavaPlugin implements Listener, Named
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// FIELDS
|
// FIELDS
|
||||||
|
@ -148,7 +148,7 @@ public class Parameter<T>
|
|||||||
// Without defaultValue, name, reqFromConsole and defaultDesc.
|
// Without defaultValue, name, reqFromConsole and defaultDesc.
|
||||||
public Parameter(Type<T> type)
|
public Parameter(Type<T> type)
|
||||||
{
|
{
|
||||||
this(type, REQUIRED_FROM_CONSOLE_DEFAULT, type.getTypeName(), DEFAULT_DESC_DEFAULT);
|
this(type, REQUIRED_FROM_CONSOLE_DEFAULT, type.getName(), DEFAULT_DESC_DEFAULT);
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
@ -192,8 +192,8 @@ public abstract class CommandEditContainerAbstract<O, V> extends CommandEditAbst
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this.addParameter(null, TypeNullable.get(keyType, "any", "all"), keyType.getTypeName(), "any");
|
this.addParameter(null, TypeNullable.get(keyType, "any", "all"), keyType.getName(), "any");
|
||||||
this.addParameter(null, TypeNullable.get(valueType, "any", "all"), valueType.getTypeName(), "any", true);
|
this.addParameter(null, TypeNullable.get(valueType, "any", "all"), valueType.getName(), "any", true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ public class CommandEditUsed<O> extends CommandEditSimple<CommandSender, O>
|
|||||||
this.setAliases("used", "selected");
|
this.setAliases("used", "selected");
|
||||||
|
|
||||||
// Desc
|
// Desc
|
||||||
this.setDesc("edit used " + this.getProperty().getValueType().getTypeName());
|
this.setDesc("edit used " + this.getProperty().getValueType().getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -113,14 +113,14 @@ public class EditSettings<O>
|
|||||||
{
|
{
|
||||||
O ret = this.getUsed(sender);
|
O ret = this.getUsed(sender);
|
||||||
if (ret != null) return ret;
|
if (ret != null) return ret;
|
||||||
String noun = this.getObjectType().getTypeName();
|
String noun = this.getObjectType().getName();
|
||||||
String aan = Txt.aan(noun);
|
String aan = Txt.aan(noun);
|
||||||
throw new MassiveException().addMsg("<b>You must select %s %s for use to skip the optional argument.", aan, noun);
|
throw new MassiveException().addMsg("<b>You must select %s %s for use to skip the optional argument.", aan, noun);
|
||||||
}
|
}
|
||||||
if (ALIASES_USED.contains(arg))
|
if (ALIASES_USED.contains(arg))
|
||||||
{
|
{
|
||||||
O ret = this.getUsed(sender);
|
O ret = this.getUsed(sender);
|
||||||
if (ret == null) throw new MassiveException().addMsg("<b>You have no selected %s.", this.getObjectType().getTypeName() );
|
if (ret == null) throw new MassiveException().addMsg("<b>You have no selected %s.", this.getObjectType().getName() );
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ public abstract class PropertyUsed<V> extends Property<CommandSender, V>
|
|||||||
|
|
||||||
public PropertyUsed(EditSettings<V> settings)
|
public PropertyUsed(EditSettings<V> settings)
|
||||||
{
|
{
|
||||||
super(TypeSender.get(), settings.getObjectType(), "used " + settings.getObjectType().getTypeName());
|
super(TypeSender.get(), settings.getObjectType(), "used " + settings.getObjectType().getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -34,7 +34,7 @@ public class RequirementEditorUse extends RequirementAbstract
|
|||||||
if ( ! (command instanceof CommandEditAbstract)) return Txt.parse("<b>This is not an editor!");
|
if ( ! (command instanceof CommandEditAbstract)) return Txt.parse("<b>This is not an editor!");
|
||||||
CommandEditAbstract<?, ?> commandEditor = (CommandEditAbstract<?, ?>)command;
|
CommandEditAbstract<?, ?> commandEditor = (CommandEditAbstract<?, ?>)command;
|
||||||
|
|
||||||
String noun = commandEditor.getSettings().getObjectType().getTypeName();
|
String noun = commandEditor.getSettings().getObjectType().getName();
|
||||||
String aan = Txt.aan(noun);
|
String aan = Txt.aan(noun);
|
||||||
|
|
||||||
return Txt.parse("<b>You must use %s %s to edit it.", aan, noun);
|
return Txt.parse("<b>You must use %s %s to edit it.", aan, noun);
|
||||||
|
@ -9,19 +9,20 @@ import org.bukkit.ChatColor;
|
|||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.MassiveException;
|
import com.massivecraft.massivecore.MassiveException;
|
||||||
|
import com.massivecraft.massivecore.Named;
|
||||||
import com.massivecraft.massivecore.command.editor.CommandEditAbstract;
|
import com.massivecraft.massivecore.command.editor.CommandEditAbstract;
|
||||||
import com.massivecraft.massivecore.command.editor.EditSettings;
|
import com.massivecraft.massivecore.command.editor.EditSettings;
|
||||||
import com.massivecraft.massivecore.command.editor.Property;
|
import com.massivecraft.massivecore.command.editor.Property;
|
||||||
import com.massivecraft.massivecore.mson.Mson;
|
import com.massivecraft.massivecore.mson.Mson;
|
||||||
|
|
||||||
public interface Type<T>
|
public interface Type<T> extends Named
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// META
|
// META
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
// Human friendly name
|
// Human friendly name
|
||||||
public String getTypeName();
|
public String getName();
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// INNER
|
// INNER
|
||||||
|
@ -13,6 +13,8 @@ import java.util.Set;
|
|||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
|
import com.massivecraft.massivecore.Colorized;
|
||||||
|
import com.massivecraft.massivecore.Identified;
|
||||||
import com.massivecraft.massivecore.MassiveException;
|
import com.massivecraft.massivecore.MassiveException;
|
||||||
import com.massivecraft.massivecore.Named;
|
import com.massivecraft.massivecore.Named;
|
||||||
import com.massivecraft.massivecore.collections.MassiveList;
|
import com.massivecraft.massivecore.collections.MassiveList;
|
||||||
@ -22,7 +24,6 @@ import com.massivecraft.massivecore.command.editor.EditSettings;
|
|||||||
import com.massivecraft.massivecore.command.editor.Property;
|
import com.massivecraft.massivecore.command.editor.Property;
|
||||||
import com.massivecraft.massivecore.comparator.ComparatorHashCode;
|
import com.massivecraft.massivecore.comparator.ComparatorHashCode;
|
||||||
import com.massivecraft.massivecore.mson.Mson;
|
import com.massivecraft.massivecore.mson.Mson;
|
||||||
import com.massivecraft.massivecore.store.Entity;
|
|
||||||
import com.massivecraft.massivecore.store.SenderEntity;
|
import com.massivecraft.massivecore.store.SenderEntity;
|
||||||
import com.massivecraft.massivecore.util.ContainerUtil;
|
import com.massivecraft.massivecore.util.ContainerUtil;
|
||||||
import com.massivecraft.massivecore.util.ReflectionUtil;
|
import com.massivecraft.massivecore.util.ReflectionUtil;
|
||||||
@ -52,7 +53,7 @@ public abstract class TypeAbstract<T> implements Type<T>
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTypeName()
|
public String getName()
|
||||||
{
|
{
|
||||||
int prefixLength = "Type".length();
|
int prefixLength = "Type".length();
|
||||||
String name = this.getClass().getSimpleName();
|
String name = this.getClass().getSimpleName();
|
||||||
@ -111,6 +112,11 @@ public abstract class TypeAbstract<T> implements Type<T>
|
|||||||
@Override
|
@Override
|
||||||
public ChatColor getVisualColor(T value, CommandSender sender)
|
public ChatColor getVisualColor(T value, CommandSender sender)
|
||||||
{
|
{
|
||||||
|
if (value instanceof Colorized)
|
||||||
|
{
|
||||||
|
Colorized colorized = (Colorized) value;
|
||||||
|
return colorized.getColor();
|
||||||
|
}
|
||||||
return this.visualColor;
|
return this.visualColor;
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
@ -228,10 +234,10 @@ public abstract class TypeAbstract<T> implements Type<T>
|
|||||||
@Override
|
@Override
|
||||||
public String getIdInner(T value)
|
public String getIdInner(T value)
|
||||||
{
|
{
|
||||||
if (value instanceof Entity)
|
if (value instanceof Identified)
|
||||||
{
|
{
|
||||||
Entity<?> entity = (Entity<?>)value;
|
Identified identified = (Identified)value;
|
||||||
return entity.getId();
|
return identified.getId();
|
||||||
}
|
}
|
||||||
else if (value instanceof String || value instanceof Number || value instanceof Boolean)
|
else if (value instanceof String || value instanceof Number || value instanceof Boolean)
|
||||||
{
|
{
|
||||||
|
@ -147,14 +147,14 @@ public abstract class TypeAbstractChoice<T> extends TypeAbstract<T> implements A
|
|||||||
String message;
|
String message;
|
||||||
if (matches.isEmpty())
|
if (matches.isEmpty())
|
||||||
{
|
{
|
||||||
message = String.format(MESSAGE_MATCH_NOTHING, this.getTypeName(), arg);
|
message = String.format(MESSAGE_MATCH_NOTHING, this.getName(), arg);
|
||||||
exception.addMessage(message);
|
exception.addMessage(message);
|
||||||
suggestLevenshtein = true;
|
suggestLevenshtein = true;
|
||||||
}
|
}
|
||||||
// Ambiguous
|
// Ambiguous
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
message = String.format(MESSAGE_MATCH_AMBIGUOUS, matches.size(), this.getTypeName(), arg);
|
message = String.format(MESSAGE_MATCH_AMBIGUOUS, matches.size(), this.getName(), arg);
|
||||||
exception.addMessage(message);
|
exception.addMessage(message);
|
||||||
suggestAmbiguous = true;
|
suggestAmbiguous = true;
|
||||||
}
|
}
|
||||||
@ -169,7 +169,7 @@ public abstract class TypeAbstractChoice<T> extends TypeAbstract<T> implements A
|
|||||||
}
|
}
|
||||||
else if (suggestNone)
|
else if (suggestNone)
|
||||||
{
|
{
|
||||||
message = String.format(MESSAGE_AVAILABLE_EMPTY, this.getTypeName());
|
message = String.format(MESSAGE_AVAILABLE_EMPTY, this.getName());
|
||||||
exception.addMessage(message);
|
exception.addMessage(message);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -56,7 +56,7 @@ public abstract class TypeAbstractSelect<T> extends TypeAbstract<T> implements A
|
|||||||
public MassiveException createExceptionForInvalidArg(String arg, CommandSender sender)
|
public MassiveException createExceptionForInvalidArg(String arg, CommandSender sender)
|
||||||
{
|
{
|
||||||
MassiveException ret = new MassiveException();
|
MassiveException ret = new MassiveException();
|
||||||
ret.addMsg("<b>No %s matches \"<h>%s<b>\".", this.getTypeName(), arg);
|
ret.addMsg("<b>No %s matches \"<h>%s<b>\".", this.getName(), arg);
|
||||||
|
|
||||||
if (this.canList(sender))
|
if (this.canList(sender))
|
||||||
{
|
{
|
||||||
@ -67,7 +67,7 @@ public abstract class TypeAbstractSelect<T> extends TypeAbstract<T> implements A
|
|||||||
|
|
||||||
if (names.isEmpty())
|
if (names.isEmpty())
|
||||||
{
|
{
|
||||||
ret.addMsg("<i>Note: There is no %s available.", this.getTypeName());
|
ret.addMsg("<i>Note: There is no %s available.", this.getName());
|
||||||
}
|
}
|
||||||
else if ( ! matches.isEmpty() && matches.size() <= LIST_COUNT_MAX)
|
else if ( ! matches.isEmpty() && matches.size() <= LIST_COUNT_MAX)
|
||||||
{
|
{
|
||||||
|
@ -13,7 +13,7 @@ public abstract class TypeAbstractSimple<T> extends TypeAbstractException<T>
|
|||||||
@Override
|
@Override
|
||||||
public String extractErrorMessage(String arg, CommandSender sender, Exception ex)
|
public String extractErrorMessage(String arg, CommandSender sender, Exception ex)
|
||||||
{
|
{
|
||||||
return Txt.parse("<b>\"<h>%s<b>\" is not a %s.", arg, this.getTypeName());
|
return Txt.parse("<b>\"<h>%s<b>\" is not a %s.", arg, this.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,7 @@ public class TypeDate extends TypeAbstractSimple<Date>
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTypeName()
|
public String getName()
|
||||||
{
|
{
|
||||||
return "YYYY-MM-DD date";
|
return "YYYY-MM-DD date";
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ public class TypeMillisDiff extends TypeAbstractException<Long>
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTypeName()
|
public String getName()
|
||||||
{
|
{
|
||||||
return "time amount";
|
return "time amount";
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,7 @@ public class TypeStringCommand extends TypeAbstract<String>
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTypeName()
|
public String getName()
|
||||||
{
|
{
|
||||||
return "command";
|
return "command";
|
||||||
}
|
}
|
||||||
|
@ -80,9 +80,9 @@ public abstract class TypeTransformer<I, O> extends TypeAbstract<O>
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTypeName()
|
public String getName()
|
||||||
{
|
{
|
||||||
return INNER.getTypeName();
|
return INNER.getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
@ -20,7 +20,7 @@ public class TypeWorldId extends TypeAbstractChoice<String>
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTypeName()
|
public String getName()
|
||||||
{
|
{
|
||||||
return "world";
|
return "world";
|
||||||
}
|
}
|
||||||
|
@ -24,9 +24,9 @@ public class TypeWrapper<T> extends TypeAbstract<T>
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTypeName()
|
public String getName()
|
||||||
{
|
{
|
||||||
return this.getInnerType().getTypeName();
|
return this.getInnerType().getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -130,7 +130,7 @@ public abstract class TypeCombined<T> extends TypeAbstract<T>
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTypeName()
|
public String getName()
|
||||||
{
|
{
|
||||||
// Create
|
// Create
|
||||||
List<String> parts = new MassiveList<String>();
|
List<String> parts = new MassiveList<String>();
|
||||||
@ -138,7 +138,7 @@ public abstract class TypeCombined<T> extends TypeAbstract<T>
|
|||||||
// Fill
|
// Fill
|
||||||
for (Type<?> type : this.getInnerTypes())
|
for (Type<?> type : this.getInnerTypes())
|
||||||
{
|
{
|
||||||
parts.add(type.getTypeName());
|
parts.add(type.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return
|
// Return
|
||||||
|
@ -35,14 +35,14 @@ public abstract class TypeContainer<C extends Object, E> extends TypeAbstract<C>
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTypeName()
|
public String getName()
|
||||||
{
|
{
|
||||||
return this.getCollectionTypeName() + " of " + this.getInnerType().getTypeName();
|
return this.getCollectionTypeName() + " of " + this.getInnerType().getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getCollectionTypeName()
|
public String getCollectionTypeName()
|
||||||
{
|
{
|
||||||
return super.getTypeName();
|
return super.getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
@ -29,7 +29,7 @@ public class TypeEnum<T extends Enum<T>> extends TypeAbstractChoice<T>
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTypeName()
|
public String getName()
|
||||||
{
|
{
|
||||||
return Txt.getNicedEnumString(this.getClazz().getSimpleName());
|
return Txt.getNicedEnumString(this.getClazz().getSimpleName());
|
||||||
}
|
}
|
||||||
|
@ -67,7 +67,7 @@ public class TypeBoolean extends TypeAbstractChoice<Boolean>
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTypeName()
|
public String getName()
|
||||||
{
|
{
|
||||||
return "toggle";
|
return "toggle";
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@ public class TypeByte extends TypeAbstractNumber<Byte>
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTypeName()
|
public String getName()
|
||||||
{
|
{
|
||||||
return "small number";
|
return "small number";
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@ public class TypeDouble extends TypeAbstractNumber<Double>
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTypeName()
|
public String getName()
|
||||||
{
|
{
|
||||||
return "number with decimals";
|
return "number with decimals";
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@ public class TypeFloat extends TypeAbstractNumber<Float>
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTypeName()
|
public String getName()
|
||||||
{
|
{
|
||||||
return "number with decimals";
|
return "number with decimals";
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@ public class TypeInteger extends TypeAbstractNumber<Integer>
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTypeName()
|
public String getName()
|
||||||
{
|
{
|
||||||
return "number";
|
return "number";
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@ public class TypeLong extends TypeAbstractNumber<Long>
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTypeName()
|
public String getName()
|
||||||
{
|
{
|
||||||
return "number";
|
return "number";
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ public class TypeString extends TypeAbstract<String>
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTypeName()
|
public String getName()
|
||||||
{
|
{
|
||||||
return "text";
|
return "text";
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ public class TypeStringId extends TypeString
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTypeName()
|
public String getName()
|
||||||
{
|
{
|
||||||
return "text id";
|
return "text id";
|
||||||
}
|
}
|
||||||
|
@ -68,7 +68,7 @@ public abstract class TypeSenderIdAbstract<T> extends TypeAbstract<T>
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTypeName()
|
public String getName()
|
||||||
{
|
{
|
||||||
switch (presence)
|
switch (presence)
|
||||||
{
|
{
|
||||||
@ -178,7 +178,7 @@ public abstract class TypeSenderIdAbstract<T> extends TypeAbstract<T>
|
|||||||
|
|
||||||
public String getErrorMessageForArg(String arg)
|
public String getErrorMessageForArg(String arg)
|
||||||
{
|
{
|
||||||
return Txt.parse("<b>No %s matches \"<h>%s<b>\".", this.getTypeName(), arg);
|
return Txt.parse("<b>No %s matches \"<h>%s<b>\".", this.getName(), arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSenderIdFor(String arg)
|
public String getSenderIdFor(String arg)
|
||||||
|
@ -59,8 +59,8 @@ public class Coll<E extends Entity<E>> extends CollAbstract<E>
|
|||||||
// WHAT DO WE HANDLE?
|
// WHAT DO WE HANDLE?
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
protected final String name;
|
protected final String id;
|
||||||
@Override public String getName() { return this.name; }
|
@Override public String getId() { return this.id; }
|
||||||
|
|
||||||
protected final String basename;
|
protected final String basename;
|
||||||
@Override public String getBasename() { return this.basename; }
|
@Override public String getBasename() { return this.basename; }
|
||||||
@ -930,15 +930,15 @@ public class Coll<E extends Entity<E>> extends CollAbstract<E>
|
|||||||
// CONSTRUCT
|
// CONSTRUCT
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
public Coll(String name, Class<E> entityClass, Db db, MassivePlugin plugin)
|
public Coll(String id, Class<E> entityClass, Db db, MassivePlugin plugin)
|
||||||
{
|
{
|
||||||
// Setup the name and the parsed parts
|
// Setup the name and the parsed parts
|
||||||
this.name = name;
|
this.id = id;
|
||||||
String[] nameParts = this.name.split("\\@");
|
String[] idParts = this.id.split("\\@");
|
||||||
this.basename = nameParts[0];
|
this.basename = idParts[0];
|
||||||
if (nameParts.length > 1)
|
if (idParts.length > 1)
|
||||||
{
|
{
|
||||||
this.universe = nameParts[1];
|
this.universe = idParts[1];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -15,7 +15,13 @@ public abstract class CollAbstract<E extends Entity<E>> implements CollInterface
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// WHAT DO WE HANDLE?
|
// WHAT DO WE HANDLE?
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// This is all placed in the implementation.
|
|
||||||
|
@Override
|
||||||
|
public String getName()
|
||||||
|
{
|
||||||
|
return this.getId();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// SUPPORTING SYSTEM
|
// SUPPORTING SYSTEM
|
||||||
|
@ -7,18 +7,19 @@ import java.util.Map;
|
|||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.Active;
|
import com.massivecraft.massivecore.Active;
|
||||||
|
import com.massivecraft.massivecore.Identified;
|
||||||
import com.massivecraft.massivecore.MassivePlugin;
|
import com.massivecraft.massivecore.MassivePlugin;
|
||||||
import com.massivecraft.massivecore.Named;
|
import com.massivecraft.massivecore.Named;
|
||||||
import com.massivecraft.massivecore.predicate.Predicate;
|
import com.massivecraft.massivecore.predicate.Predicate;
|
||||||
import com.massivecraft.massivecore.xlib.gson.JsonObject;
|
import com.massivecraft.massivecore.xlib.gson.JsonObject;
|
||||||
|
|
||||||
public interface CollInterface<E extends Entity<E>> extends Named, Active
|
public interface CollInterface<E extends Entity<E>> extends Named, Active, Identified
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// WHAT DO WE HANDLE?
|
// WHAT DO WE HANDLE?
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
public String getName();
|
public String getId();
|
||||||
public String getBasename();
|
public String getBasename();
|
||||||
public String getUniverse();
|
public String getUniverse();
|
||||||
public Class<E> getEntityClass();
|
public Class<E> getEntityClass();
|
||||||
|
@ -2,6 +2,7 @@ package com.massivecraft.massivecore.store;
|
|||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import com.massivecraft.massivecore.Identified;
|
||||||
import com.massivecraft.massivecore.MassiveCore;
|
import com.massivecraft.massivecore.MassiveCore;
|
||||||
import com.massivecraft.massivecore.store.accessor.Accessor;
|
import com.massivecraft.massivecore.store.accessor.Accessor;
|
||||||
import com.massivecraft.massivecore.xlib.gson.Gson;
|
import com.massivecraft.massivecore.xlib.gson.Gson;
|
||||||
@ -15,7 +16,7 @@ import com.massivecraft.massivecore.xlib.gson.JsonObject;
|
|||||||
|
|
||||||
// Self referencing generic.
|
// Self referencing generic.
|
||||||
// http://www.angelikalanger.com/GenericsFAQ/FAQSections/ProgrammingIdioms.html#FAQ206
|
// http://www.angelikalanger.com/GenericsFAQ/FAQSections/ProgrammingIdioms.html#FAQ206
|
||||||
public class Entity<E extends Entity<E>>
|
public class Entity<E extends Entity<E>> implements Identified
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// FIELDS
|
// FIELDS
|
||||||
@ -27,7 +28,7 @@ public class Entity<E extends Entity<E>>
|
|||||||
|
|
||||||
protected transient String id;
|
protected transient String id;
|
||||||
protected void setId(String id) { this.id = id; }
|
protected void setId(String id) { this.id = id; }
|
||||||
public String getId() { return this.id; }
|
@Override public String getId() { return this.id; }
|
||||||
|
|
||||||
public String getUniverse()
|
public String getUniverse()
|
||||||
{
|
{
|
||||||
|
@ -1,16 +1,19 @@
|
|||||||
package com.massivecraft.massivecore.util;
|
package com.massivecraft.massivecore.util;
|
||||||
|
|
||||||
public class IdData
|
import com.massivecraft.massivecore.Identified;
|
||||||
|
import com.massivecraft.massivecore.Named;
|
||||||
|
|
||||||
|
public class IdData implements Identified, Named
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// FIELDS
|
// FIELDS
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
protected final String id;
|
protected final String id;
|
||||||
public String getId() { return this.id; }
|
@Override public String getId() { return this.id; }
|
||||||
|
|
||||||
protected final String name;
|
protected final String name;
|
||||||
public String getName() { return this.name; }
|
@Override public String getName() { return this.name; }
|
||||||
|
|
||||||
protected final long millis;
|
protected final long millis;
|
||||||
public long getMillis() { return this.millis; }
|
public long getMillis() { return this.millis; }
|
||||||
|
@ -1,54 +0,0 @@
|
|||||||
package com.massivecraft.massivecore.util;
|
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Map.Entry;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import com.massivecraft.massivecore.SenderPresence;
|
|
||||||
import com.massivecraft.massivecore.SenderType;
|
|
||||||
|
|
||||||
class SenderMapTest
|
|
||||||
{
|
|
||||||
|
|
||||||
static SenderMap map = new SenderMap();
|
|
||||||
public static void main(String[] args)
|
|
||||||
{
|
|
||||||
map.addValue("Madus", SenderPresence.LOCAL); // Satisfying
|
|
||||||
//printMap();
|
|
||||||
|
|
||||||
map.removeValueCompletely("Madus"); // Satisfying
|
|
||||||
//printMap();
|
|
||||||
|
|
||||||
map.addValue("Madus", SenderPresence.LOCAL); // Satisfying
|
|
||||||
map.addValue("Cayorion", SenderPresence.ONLINE); // Satisfying
|
|
||||||
//printMap();
|
|
||||||
|
|
||||||
map.removeValueCompletely("madus"); // Satisfying (case insensitive)
|
|
||||||
//printMap();
|
|
||||||
|
|
||||||
map.addValue("@console", SenderPresence.OFFLINE); // Satisfying
|
|
||||||
//printMap();
|
|
||||||
|
|
||||||
System.out.println(map.getPresence("@console")); // Satisfying (OFFLINE)
|
|
||||||
System.out.println(map.getPresence("caYorioN")); // Satisfying (ONLINE)
|
|
||||||
System.out.println(map.getPresence("MaDus")); // Satisfying (null)
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void printMap()
|
|
||||||
{
|
|
||||||
printMap(map);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void printMap(SenderMap map)
|
|
||||||
{
|
|
||||||
for (Entry<SenderPresence, Map<SenderType, Set<String>>> entry1 : map.getInnerMap().entrySet())
|
|
||||||
{
|
|
||||||
System.out.println(entry1.getKey());
|
|
||||||
for (Entry<SenderType, Set<String>> entry2 : entry1.getValue().entrySet())
|
|
||||||
{
|
|
||||||
System.out.println(" " + entry2.getKey() + ": " + entry2.getValue());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user