Editor Nullable
This commit is contained in:
parent
8034bf44c6
commit
c37feb469e
@ -249,4 +249,10 @@ public class CommandEditAbstract<O, V> extends MassiveCommand
|
||||
msg("%s<silver> for %s<silver>: %s", descProperty, descObject, descValue);
|
||||
}
|
||||
|
||||
public void requireNullable() throws MassiveException
|
||||
{
|
||||
if (this.getProperty().isNullable()) return;
|
||||
throw new MassiveException().addMsg("<h>%s<b> can not be null.", this.getPropertyName());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -15,8 +15,12 @@ public class CommandEditCollection<O, V extends Collection<?>> extends CommandEd
|
||||
|
||||
// Children
|
||||
this.addChild(new CommandEditShow<O, V>(settings, property));
|
||||
|
||||
if (property.isNullable())
|
||||
{
|
||||
this.addChild(new CommandEditCreate<O, V>(settings, property));
|
||||
this.addChild(new CommandEditDelete<O, V>(settings, property));
|
||||
}
|
||||
|
||||
this.addChild(new CommandEditCollectionAdd<O, V>(settings, property));
|
||||
this.addChild(new CommandEditCollectionInsert<O, V>(settings, property));
|
||||
|
@ -17,8 +17,13 @@ public class CommandEditItemStacks<O> extends CommandEditAbstract<O, List<ItemSt
|
||||
|
||||
// Children
|
||||
this.addChild(new CommandEditShow<O, List<ItemStack>>(settings, property));
|
||||
|
||||
if (property.isNullable())
|
||||
{
|
||||
this.addChild(new CommandEditCreate<O, List<ItemStack>>(settings, property));
|
||||
this.addChild(new CommandEditDelete<O, List<ItemStack>>(settings, property));
|
||||
}
|
||||
|
||||
this.addChild(new CommandEditItemStacksOpen<O>(settings, property));
|
||||
}
|
||||
|
||||
|
@ -15,8 +15,12 @@ public class CommandEditMap<O, V extends Map<?, ?>> extends CommandEditAbstract<
|
||||
|
||||
// Children
|
||||
this.addChild(new CommandEditShow<O, V>(settings, property));
|
||||
|
||||
if (property.isNullable())
|
||||
{
|
||||
this.addChild(new CommandEditCreate<O, V>(settings, property));
|
||||
this.addChild(new CommandEditDelete<O, V>(settings, property));
|
||||
}
|
||||
|
||||
this.addChild(new CommandEditMapPut<O, V>(settings, property));
|
||||
this.addChild(new CommandEditMapRemove<O, V>(settings, property));
|
||||
|
@ -39,6 +39,9 @@ public class CommandEditSimple<O, V> extends CommandEditAbstract<O, V>
|
||||
// Arguments
|
||||
V after = this.readArg();
|
||||
|
||||
// Validate
|
||||
if (after == null) this.requireNullable();
|
||||
|
||||
// Apply
|
||||
this.attemptSet(after);
|
||||
}
|
||||
|
@ -43,6 +43,10 @@ public abstract class Property<O, V> implements Named
|
||||
public boolean isEditable() { return this.editable; }
|
||||
public void setEditable(boolean editable) { this.editable = editable; }
|
||||
|
||||
protected boolean nullable = true;
|
||||
public boolean isNullable() { return this.nullable; }
|
||||
public void setNullable(boolean nullable) { this.nullable = nullable; }
|
||||
|
||||
// -------------------------------------------- //
|
||||
// NAME
|
||||
// -------------------------------------------- //
|
||||
|
Loading…
Reference in New Issue
Block a user