1 18 package org.apache.beehive.netui.compiler.grammar; 19 20 import org.apache.beehive.netui.compiler.AnnotationGrammar; 21 import org.apache.beehive.netui.compiler.FlowControllerInfo; 22 import org.apache.beehive.netui.compiler.CompilerUtils; 23 import org.apache.beehive.netui.compiler.FatalCompileTimeException; 24 import org.apache.beehive.netui.compiler.typesystem.declaration.AnnotationTypeElementDeclaration; 25 import org.apache.beehive.netui.compiler.typesystem.declaration.AnnotationValue; 26 import org.apache.beehive.netui.compiler.typesystem.declaration.AnnotationInstance; 27 import org.apache.beehive.netui.compiler.typesystem.declaration.MemberDeclaration; 28 29 public class ExternalPathOrActionType extends WebappPathOrActionType 30 { 31 public ExternalPathOrActionType( boolean pathMustBeRelative, String requiredRuntimeVersion, 32 AnnotationGrammar parentGrammar, FlowControllerInfo fcInfo ) 33 { 34 super( pathMustBeRelative, requiredRuntimeVersion, parentGrammar, fcInfo ); 35 } 36 37 38 public Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value, 39 AnnotationInstance[] parentAnnotations, MemberDeclaration classMember, 40 int annotationArrayIndex ) 41 throws FatalCompileTimeException 42 { 43 AnnotationInstance parentAnnotation = parentAnnotations[ parentAnnotations.length - 1 ]; 44 45 if ( CompilerUtils.getBoolean( parentAnnotation, EXTERNAL_REDIRECT_ATTR, false ).booleanValue() ) 47 { 48 return null; 49 } 50 51 return super.onCheck( valueDecl, value, parentAnnotations, classMember, annotationArrayIndex ); 52 } 53 } 54 | Popular Tags |