blob: f44016189fb1c8ef50050309d880cd3dcd1f2d51 [file] [log] [blame]
package com.intellij.tasks.jira.jql.psi;
import com.intellij.psi.tree.IElementType;
import com.intellij.tasks.jira.jql.JqlTokenTypes;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.IdentityHashMap;
/**
* @author Mikhail Golubev
*/
public interface JqlTerminalClause extends JqlClause {
enum Type {
EQ(false),
NE(false),
LT(false),
GT(false),
LE(false),
GE(false),
CONTAINS(false),
NOT_CONTAINS(false),
IS(false),
IS_NOT(false),
IN(true),
NOT_IN(true),
WAS(false),
WAS_IN(true),
WAS_NOT(false),
WAS_NOT_IN(true),
CHANGED(false);
private boolean myListOperator;
Type(boolean listOperator) {
myListOperator = listOperator;
}
private final static IdentityHashMap<IElementType, Type> MAP = new IdentityHashMap<IElementType, Type>();
static {
MAP.put(JqlTokenTypes.EQ, EQ);
MAP.put(JqlTokenTypes.NE, NE);
MAP.put(JqlTokenTypes.LT, LT);
MAP.put(JqlTokenTypes.GT, GT);
MAP.put(JqlTokenTypes.LE, LE);
MAP.put(JqlTokenTypes.GE, GE);
MAP.put(JqlTokenTypes.CONTAINS, CONTAINS);
MAP.put(JqlTokenTypes.NOT_CONTAINS, NOT_CONTAINS);
}
@Nullable
public static Type fromTokenType(IElementType type) {
return MAP.get(type);
}
public boolean isListOperator() {
return myListOperator;
}
}
@Nullable
Type getType();
@NotNull
JqlIdentifier getField();
@NotNull
String getFieldName();
}