This commit is contained in:
gnembon committed 2019-10-07 16:50:36 -03:00
1 parent 768c44cc14
commit c442a78e49
2 files changed
+39 -16

No files matched your search

@@ -304,8 +304,23 @@ public class ListValue extends AbstractListValue implements ContainerValueInterf
return (double)items.size();
}
@Override
public Value put(Value where, Value value, Value conditionValue)
{
String condition = conditionValue.getString();
if (condition.equalsIgnoreCase("insert"))
return put(where, value, false);
if (condition.equalsIgnoreCase("replace"))
return put(where, value, true);
throw new InternalExpressionException("list put modifier could be either insert, or replace");
}
@Override
public Value put(Value ind, Value value)
{
return put(ind, value, true);
}
private Value put(Value ind, Value value, boolean replace)
{
if (ind == Value.NULL)
{
@@ -323,7 +338,15 @@ public class ListValue extends AbstractListValue implements ContainerValueInterf
index = index % numitems;
}
while (index >= items.size()) items.add(Value.NULL);
return items.set(index, value);
if (replace)
{
return items.set(index, value);
}
else
{
items.add(index, value);
return value;
}
}
}