Class ExpressionList<T>
java.lang.Object
io.github.syst3ms.skriptparser.lang.ExpressionList<T>
- Type Parameters:
T- the common supertype of all expressions in this list
- All Implemented Interfaces:
Expression<T>, SyntaxElement
- Direct Known Subclasses:
LiteralList
A list of expressions
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprotected Expression<? extends T>[]protected final boolean -
Constructor Summary
ConstructorsModifierConstructorDescriptionExpressionList(Expression<? extends T>[] expressions, Class<T> returnType, boolean and) protectedExpressionList(Expression<? extends T>[] expressions, Class<T> returnType, boolean and, @Nullable ExpressionList<?> source) -
Method Summary
Modifier and TypeMethodDescription<R> Optional<? extends Expression<R>> convertExpression(Class<R> to) Converts this expression from it's current type (T) to another type, using converters.T[]getArray(TriggerContext ctx) Retrieves all values of this Expressions, without accounting for possible modifiers.Expression<? extends T>[]Retrieves allExpressions within this ExpressionList.Expression<?> T[]getValues(TriggerContext ctx) Retrieves all values of this Expression, accounting for possible modifiers.T[]getValues(Function<Expression<? extends T>, T[]> function) Retrieves all values of this Expression using a function that will be applied to each expression.booleaninit(Expression<?>[] expressions, int matchedPattern, ParseContext parseContext) Initializes this SyntaxElement before being used.booleanbooleanWhen this expression is looped, returns what the loop reference (as in loop-<reference>) should be in order to describe each element of the values of this expression.booleanisSingle()iterator(TriggerContext ctx) voidsetAndList(boolean isAndList) toString(TriggerContext ctx, boolean debug) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Expression
acceptsChange, acceptsChange, acceptsChange, change, check, check, getSingle, stream
-
Field Details
-
expressions
-
single
protected final boolean single -
and
protected boolean and
-
-
Constructor Details
-
ExpressionList
-
ExpressionList
protected ExpressionList(Expression<? extends T>[] expressions, Class<T> returnType, boolean and, @Nullable @Nullable ExpressionList<?> source)
-
-
Method Details
-
init
@Contract("_, _, _ -> fail") public boolean init(Expression<?>[] expressions, int matchedPattern, ParseContext parseContext) Description copied from interface:SyntaxElementInitializes this SyntaxElement before being used. This method is always called before all the others in an extending class, the only exception beingCodeSection.loadSection(FileSection, ParserState, SkriptLogger).- Specified by:
initin interfaceSyntaxElement- Parameters:
expressions- an array of expressions representing all the expressions that are being passed to this syntax element. As opposed to Skript, elements of this array can't benull.matchedPattern- the index of the pattern that was successfully matched. It corresponds to the order of the syntaxes in registrationparseContext- an object containing additional information about the parsing of this syntax element, like regex matches and parse marks- Returns:
trueif the syntax element was initialized successfully,falseotherwise.- See Also:
-
getValues
Description copied from interface:ExpressionRetrieves all values of this Expression, accounting for possible modifiers. This means that if this is an or-list, it will choose a random value to return.- Specified by:
getValuesin interfaceExpression<T>- Parameters:
ctx- the event- Returns:
- an array of the values
- See Also:
-
getExpressions
Retrieves allExpressions within this ExpressionList.- Returns:
- all
Expressions relating to this ExpressionList.
-
getValues
Retrieves all values of this Expression using a function that will be applied to each expression.- Parameters:
function- the function- Returns:
- an array of the values
-
getArray
Description copied from interface:ExpressionRetrieves all values of this Expressions, without accounting for possible modifiers. This means that if this is an or-list, it will still return all possible values.- Specified by:
getArrayin interfaceExpression<T>- Parameters:
ctx- the event- Returns:
- an array of the raw values
-
isSingle
public boolean isSingle()- Specified by:
isSinglein interfaceExpression<T>- Returns:
- whether this expression returns a single value. By default, this is defined on registration, but it can be overridden.
-
getReturnType
- Specified by:
getReturnTypein interfaceExpression<T>- Returns:
- the return type of this expression. By default, this is defined on registration, but, like Expression.isSingle(), can be overriden.
-
toString
- Specified by:
toStringin interfaceSyntaxElement- Parameters:
ctx- the eventdebug- whether to show additional information or not- Returns:
- a
Stringthat should aim to resemble what is written in the script as closely as possible
-
convertExpression
Description copied from interface:ExpressionConverts this expression from it's current type (T) to another type, using converters.- Specified by:
convertExpressionin interfaceExpression<T>- Type Parameters:
R- the type to convert this Expression to- Parameters:
to- the class of the type to convert this Expression to- Returns:
- a converted Expression, or
nullif it couldn't be converted
-
iterator
- Specified by:
iteratorin interfaceExpression<T>- Parameters:
ctx- the event- Returns:
- an iterator of the values of this expression
-
isLoopOf
Description copied from interface:ExpressionWhen this expression is looped, returns what the loop reference (as in loop-<reference>) should be in order to describe each element of the values of this expression.- Specified by:
isLoopOfin interfaceExpression<T>- Parameters:
s- the loop reference- Returns:
- whether the given reference describes this expression's elements. By default, returns
trueif the parameter is"value" - See Also:
-
isAndList
public boolean isAndList()- Specified by:
isAndListin interfaceExpression<T>
-
setAndList
public void setAndList(boolean isAndList) - Specified by:
setAndListin interfaceExpression<T>
-
getSource
- Specified by:
getSourcein interfaceExpression<T>
-