* which will actually gobble the tokens.
*
* @return
*/
public AttributeDescr attribute(AttributeSupportBuilder<?> as) {
AttributeDescr attribute = null;
try {
if (state.backtracking == 0 && input.LA(1) != DRL6Lexer.EOF) {
helper.emit(Location.LOCATION_RULE_HEADER_KEYWORD);
}
if (helper.validateIdentifierKey(DroolsSoftKeywords.SALIENCE)) {
attribute = salience(as);
} else if (helper.validateIdentifierKey(DroolsSoftKeywords.ENABLED)) {
attribute = enabled(as);
} else if (helper.validateIdentifierKey(DroolsSoftKeywords.NO) &&
helper.validateLT(2,
"-") &&
helper.validateLT(3,
DroolsSoftKeywords.LOOP)) {
attribute = booleanAttribute(as,
new String[]{DroolsSoftKeywords.NO, "-", DroolsSoftKeywords.LOOP});
} else if (helper.validateIdentifierKey(DroolsSoftKeywords.AUTO) &&
helper.validateLT(2,
"-") &&
helper.validateLT(3,
DroolsSoftKeywords.FOCUS)) {
attribute = booleanAttribute(as,
new String[]{DroolsSoftKeywords.AUTO, "-", DroolsSoftKeywords.FOCUS});
} else if (helper.validateIdentifierKey(DroolsSoftKeywords.LOCK) &&
helper.validateLT(2,
"-") &&
helper.validateLT(3,
DroolsSoftKeywords.ON) &&
helper.validateLT(4,
"-") &&
helper.validateLT(5,
DroolsSoftKeywords.ACTIVE)) {
attribute = booleanAttribute(as,
new String[]{DroolsSoftKeywords.LOCK, "-", DroolsSoftKeywords.ON, "-", DroolsSoftKeywords.ACTIVE});
} else if (helper.validateIdentifierKey(DroolsSoftKeywords.REFRACT)) {
attribute = booleanAttribute(as,
new String[]{DroolsSoftKeywords.REFRACT});
} else if (helper.validateIdentifierKey(DroolsSoftKeywords.DIRECT)) {
attribute = booleanAttribute(as,
new String[]{DroolsSoftKeywords.DIRECT});
} else if (helper.validateIdentifierKey(DroolsSoftKeywords.AGENDA) &&
helper.validateLT(2,
"-") &&
helper.validateLT(3,
DroolsSoftKeywords.GROUP)) {
attribute = stringAttribute(as,
new String[]{DroolsSoftKeywords.AGENDA, "-", DroolsSoftKeywords.GROUP});
} else if (helper.validateIdentifierKey(DroolsSoftKeywords.ACTIVATION) &&
helper.validateLT(2,
"-") &&
helper.validateLT(3,
DroolsSoftKeywords.GROUP)) {
attribute = stringAttribute(as,
new String[]{DroolsSoftKeywords.ACTIVATION, "-", DroolsSoftKeywords.GROUP});
} else if (helper.validateIdentifierKey(DroolsSoftKeywords.RULEFLOW) &&
helper.validateLT(2,
"-") &&
helper.validateLT(3,
DroolsSoftKeywords.GROUP)) {
attribute = stringAttribute(as,
new String[]{DroolsSoftKeywords.RULEFLOW, "-", DroolsSoftKeywords.GROUP});
} else if (helper.validateIdentifierKey(DroolsSoftKeywords.DATE) &&
helper.validateLT(2,
"-") &&
helper.validateLT(3,
DroolsSoftKeywords.EFFECTIVE)) {
attribute = stringAttribute(as,
new String[]{DroolsSoftKeywords.DATE, "-", DroolsSoftKeywords.EFFECTIVE});
attribute.setType(AttributeDescr.Type.DATE);
} else if (helper.validateIdentifierKey(DroolsSoftKeywords.DATE) &&
helper.validateLT(2,
"-") &&
helper.validateLT(3,
DroolsSoftKeywords.EXPIRES)) {
attribute = stringAttribute(as,
new String[]{DroolsSoftKeywords.DATE, "-", DroolsSoftKeywords.EXPIRES});
attribute.setType(AttributeDescr.Type.DATE);
} else if (helper.validateIdentifierKey(DroolsSoftKeywords.DIALECT)) {
attribute = stringAttribute(as,
new String[]{DroolsSoftKeywords.DIALECT});
} else if (helper.validateIdentifierKey(DroolsSoftKeywords.CALENDARS)) {
attribute = stringListAttribute(as,