* 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,