private LSDPredicate(String pred, char[] types) throws LSDInvalidTypeException { this.types = types; // for (int i = 0; i < types.length; i++) { if (!LSDVariable.isValidType(types[i])) throw new LSDInvalidTypeException(); } this.predName = pred; if (pred.indexOf("before_") != -1) { this.kind = BEFORE; } else if (pred.indexOf("after_") != -1) { this.kind = AFTER; } else if (pred.indexOf("deleted_") != -1) { this.kind = DELETED; } else if (pred.indexOf("added_") != -1) { this.kind = ADDED; } else if (pred.indexOf("modified_") != -1) { this.kind = MODIFIED; } else { this.kind = UNDEFINED; } level = setLevel(pred, types); // check }