Package edu.wisc.game.parser
Class Expression.BracketList
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- java.util.Vector<Expression>
-
- edu.wisc.game.parser.Expression.ExList
-
- edu.wisc.game.parser.Expression.BracketList
-
- All Implemented Interfaces:
Expression
,Expression.ArithmeticExpression
,Serializable
,Cloneable
,Iterable<Expression>
,Collection<Expression>
,List<Expression>
,RandomAccess
- Enclosing interface:
- Expression
public static class Expression.BracketList extends Expression.ExList implements Expression.ArithmeticExpression
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface edu.wisc.game.parser.Expression
Expression.AdditiveExpression, Expression.ArithmeticExpression, Expression.BracketList, Expression.ColonExpression, Expression.ComparisonExpression, Expression.ExList, Expression.Id, Expression.Mapper, Expression.MapTo<T>, Expression.MultiplicativeExpression, Expression.NegationExpression, Expression.Num, Expression.ParenList, Expression.PropMap, Expression.QualifiedId, Expression.RangeExpression, Expression.SerialExpression, Expression.Star, Expression.VarMap, Expression.VarMap2
-
-
Field Summary
-
Fields inherited from class java.util.Vector
capacityIncrement, elementCount, elementData
-
Fields inherited from class java.util.AbstractList
modCount
-
Fields inherited from interface edu.wisc.game.parser.Expression
STAR
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HashSet<Integer>
evalSet(HashMap<String,HashSet<Integer>> h)
Evaluates this expression for the given values of the variables involved.HashSet<Object>
evalSet2(Expression.VarMap2 h)
boolean
isGS3List()
Is this a list suitable for shapes, colors, and other properties in GS 3? That is, a list consisting of just simple (not qualified) IDs and integers.boolean
isSimpleIdList()
Is this just a list of simple (not qualified) IDs? This is what's allowed for shapes in colors before GS5.HashSet<String>
listAllVars()
Expression.BracketList
map(Expression.Mapper mapper)
Applies the mapper to each componentString
toSrc()
String
toString()
-
Methods inherited from class edu.wisc.game.parser.Expression.ExList
toSrc, toString
-
Methods inherited from class java.util.Vector
add, add, addAll, addAll, addElement, capacity, clear, clone, contains, containsAll, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, forEach, get, hashCode, indexOf, indexOf, insertElementAt, isEmpty, iterator, lastElement, lastIndexOf, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeAllElements, removeElement, removeElementAt, removeIf, removeRange, replaceAll, retainAll, set, setElementAt, setSize, size, sort, spliterator, subList, toArray, toArray, trimToSize
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, stream, toArray
-
-
-
-
Method Detail
-
evalSet
public HashSet<Integer> evalSet(HashMap<String,HashSet<Integer>> h)
Description copied from interface:Expression.ArithmeticExpression
Evaluates this expression for the given values of the variables involved. Can be used when the arguments can have multiple values.- Specified by:
evalSet
in interfaceExpression.ArithmeticExpression
- Parameters:
h
- The hash map that contains for each variable the possible set of its values.- Returns:
- the set of the possible values of the expression, or an empty set if the expression uses a variable whose value is not in h
-
evalSet2
public HashSet<Object> evalSet2(Expression.VarMap2 h)
- Specified by:
evalSet2
in interfaceExpression.ArithmeticExpression
-
listAllVars
public HashSet<String> listAllVars()
- Specified by:
listAllVars
in interfaceExpression.ArithmeticExpression
-
toString
public String toString()
- Overrides:
toString
in classVector<Expression>
-
toSrc
public String toSrc()
- Specified by:
toSrc
in interfaceExpression
-
map
public Expression.BracketList map(Expression.Mapper mapper) throws RuleParseException
Applies the mapper to each component- Specified by:
map
in interfaceExpression
- Throws:
RuleParseException
-
isGS3List
public boolean isGS3List()
Is this a list suitable for shapes, colors, and other properties in GS 3? That is, a list consisting of just simple (not qualified) IDs and integers. If it isn't, it has to be interpreted as a GS5 expression.
-
isSimpleIdList
public boolean isSimpleIdList()
Is this just a list of simple (not qualified) IDs? This is what's allowed for shapes in colors before GS5.
-
-