package sk.stuba.fiit.perconik.eclipse.jdt.core.dom;
import java.util.Set;
import org.eclipse.jdt.core.dom.ASTNode;
import sk.stuba.fiit.perconik.utilities.constant.IntegralConstant;
import sk.stuba.fiit.perconik.utilities.constant.IntegralConstantSupport;
/**
* AST node flags.
*
* @see ASTNode
*
* @author Pavol Zbell
* @since 1.0
*/
public enum NodeFlag implements IntegralConstant {
/**
* @see ASTNode#MALFORMED
*/
MALFORMED(ASTNode.MALFORMED),
/**
* @see ASTNode#ORIGINAL
*/
ORIGINAL(ASTNode.ORIGINAL),
/**
* @see ASTNode#PROTECT
*/
PROTECT(ASTNode.PROTECT),
/**
* @see ASTNode#RECOVERED
*/
RECOVERED(ASTNode.RECOVERED);
private static final IntegralConstantSupport<NodeFlag> integers = IntegralConstantSupport.of(NodeFlag.class);
private final int value;
private NodeFlag(final int value) {
this.value = value;
}
public static Set<Integer> valuesAsIntegers() {
return integers.getIntegers();
}
public static int valuesAsInteger() {
return integers.getConstantsAsInteger();
}
public static int valuesAsInteger(final Set<NodeFlag> values) {
return IntegralConstantSupport.constantsAsInteger(values);
}
public static NodeFlag valueOf(final int value) {
return integers.getConstant(value);
}
public static Set<NodeFlag> setOf(final int values) {
return integers.getConstants(values);
}
public int getValue() {
return this.value;
}
}