org.apache.beehive.netui.compiler.grammar
Class WebappPathType

Object
  extended by AnnotationMemberType
      extended by WebappPathType
All Implemented Interfaces:
JpfLanguageConstants
Direct Known Subclasses:
TilesDefinitionsConfigsType, ValidXmlFileType, WebappPathOrActionType

public class WebappPathType
extends AnnotationMemberType

String type that emits a warning if the given path does not exist in the webapp for this pageflow.


Nested Class Summary
 
Nested classes/interfaces inherited from interface JpfLanguageConstants
JpfLanguageConstants.ExtraInfoKeys
 
Field Summary
 
Fields inherited from interface JpfLanguageConstants
ACTION_ATTR, ACTION_EXTENSION, ACTION_EXTENSION_DOT, ACTION_OUTPUT_TAG_NAME, ACTION_OUTPUTS_ATTR, ACTION_TAG_NAME, ALTERNATE_WEB_ROOT_DIR_OPTION, ANNOTATION_INTERFACE_PREFIX, ANNOTATION_QUALIFIER, ANNOTATIONS_CLASSNAME, ANY_FORM_CLASS_NAME, APACHE_XMLOBJECT_CLASS_NAME, APPLY_TO_UNHANDLED_LOCALES_ATTR, ARG_ATTR, ARG_KEY_ATTR, ARRAY_TYPE_SUFFIX, BEA_XMLOBJECT_CLASS_NAME, BEGIN_ACTION_NAME, BOOLEAN_GETTER_PREFIX, BUNDLE_NAME_ATTR, BUNDLE_PATH_ATTR, CATCH_TAG_NAME, CATCHES_ATTR, CHARS_ATTR, COMMAND_HANDLER_TAG_NAME, CONDITION_ATTR, CONDITIONAL_FORWARDS_ATTR, CONTROLLER_TAG_NAME, COUNTRY_ATTR, CUSTOM_VALIDATOR_CONFIGS_ATTR, DEFAULT_SIMPLE_ACTION_FORWARD_NAME, DEFAULT_VALIDATION_MESSAGE_BUNDLE, DEFAULT_VALIDATION_MESSAGE_BUNDLE_NAME, DISPLAY_NAME_ATTR, DISPLAY_NAME_KEY_ATTR, DO_VALIDATION_ATTR, ERROR_TYPE_STR, EXCEPTION_HANDLER_TAG_NAME, EXTERNAL_REDIRECT_ATTR, FACES_BACKING_BEAN_CLASS, FACES_BACKING_FILE_EXTENSION, FACES_BACKING_FILE_EXTENSION_DOT, FACES_BACKING_TAG_NAME, FLOW_CONTROLLER_ACTION_CLASS, FLOWCONTROLLER_BASE_CLASS, FORM_BEAN_TAG_NAME, FORM_CLASS_NAME, FORWARD_CLASS_NAME, FORWARD_REF_ATTR, FORWARD_TAG_NAME, FORWARDS_ATTR, GETTER_PREFIX, GLOBALAPP_BASE_CLASS, GLOBALAPP_CLASSNAME, GLOBALAPP_FILE_EXTENSION, GLOBALAPP_FILE_EXTENSION_DOT, GLOBALAPP_FULL_CLASSNAME, GLOBALAPP_PACKAGE, GLOBALAPP_PARENT_PATH, GLOBALAPP_SHARED_FLOW_NAME, GLOBALAPP_SOURCE_NAME, GLOBALAPP_URI, JAVA_FILE_EXTENSION, JAVA_FILE_EXTENSION_DOT, JPF_BASE_CLASS, JPF_FILE_EXTENSION, JPF_FILE_EXTENSION_DOT, JSP_FILE_EXTENSION, KEY_ATTR, LANGUAGE_ATTR, LOCALE_RULES_ATTR, LOGIN_REQUIRED_ATTR, LONGLIVED_ATTR, MAX_FLOAT_ATTR, MAX_INT_ATTR, MESSAGE_ARG_TAG_NAME, MESSAGE_ARGS_ATTR, MESSAGE_ATTR, MESSAGE_BUNDLE_ATTR, MESSAGE_BUNDLE_TAG_NAME, MESSAGE_BUNDLES_ATTR, MESSAGE_KEY_ATTR, METHOD_ATTR, MIN_FLOAT_ATTR, MIN_INT_ATTR, MULTIPART_HANDLER_ATTR, MULTIPART_HANDLER_DISABLED_STR, MULTIPART_HANDLER_DISK_CLASSNAME, MULTIPART_HANDLER_DISK_STR, MULTIPART_HANDLER_MEMORY_CLASSNAME, MULTIPART_HANDLER_MEMORY_STR, NAME_ATTR, NAVIGATE_TO_ATTR, NAVIGATE_TO_CURRENT_PAGE_STR, NAVIGATE_TO_ENUM, NAVIGATE_TO_PAGE_LEGACY_STR, NAVIGATE_TO_PREVIOUS_ACTION_STR, NAVIGATE_TO_PREVIOUS_PAGE_STR, NESTED_ATTR, NETUI_PACKAGE, NULLABLE_ATTR, OBJECT_CLASS_NAME, OUTPUT_FORM_BEAN_ATTR, OUTPUT_FORM_BEAN_TYPE_ATTR, PAGE_FLOW_FIELD_TAG_NAME, PAGEFLOW_INTERNAL_PACKAGE, PAGEFLOW_PACKAGE, PAGEFLOW_RUNTIME_JAR, PATH_ATTR, PATTERN_ATTR, POSITION_ATTR, PREVENT_DOUBLE_SUBMIT_ATTR, PROPERTY_NAME_ATTR, RAISE_ACTION_TAG_NAME, RAISE_ACTIONS_ATTR, READONLY_ATTR, REDIRECT_ATTR, REGEX_ATTR, REQUIRED_ATTR, RESTORE_QUERY_STRING_ATTR, RETURN_ACTION_ATTR, ROLES_ALLOWED_ATTR, RULE_ATTR, RUNTIME_VERSION_ATTRIBUTE, SERIALIZABLE_CLASS_NAME, SHARED_FLOW_BASE_CLASS, SHARED_FLOW_CLASSNAME, SHARED_FLOW_FIELD_TAG_NAME, SHARED_FLOW_FILE_EXTENSION, SHARED_FLOW_FILE_EXTENSION_DOT, SHARED_FLOW_REF_TAG_NAME, SHARED_FLOW_REFS_ATTR, SIMPLE_ACTION_TAG_NAME, SIMPLE_ACTIONS_ATTR, STRICT_ATTR, STRING_CLASS_NAME, STRUTS_PACKAGE, STRUTSMERGE_ATTR, THROWABLE_CLASS_NAME, TILES_DEFINITION_ATTR, TILES_DEFINITIONS_CONFIGS_ATTR, TYPE_ATTR, USE_FORM_BEAN_ATTR, USE_FORM_BEAN_TYPE_ATTR, VALIDATABLE_BEANS_ATTR, VALIDATABLE_PROPERTIES_ATTR, VALIDATABLE_PROPERTY_TAG_NAME, VALIDATE_CREDIT_CARD_ATTR, VALIDATE_CREDIT_CARD_TAG_NAME, VALIDATE_CUSTOM_ATTR, VALIDATE_CUSTOM_TAG_NAME, VALIDATE_DATE_ATTR, VALIDATE_DATE_TAG_NAME, VALIDATE_EMAIL_ATTR, VALIDATE_EMAIL_TAG_NAME, VALIDATE_MASK_ATTR, VALIDATE_MASK_TAG_NAME, VALIDATE_MAX_LENGTH_ATTR, VALIDATE_MAX_LENGTH_TAG_NAME, VALIDATE_MIN_LENGTH_ATTR, VALIDATE_MIN_LENGTH_TAG_NAME, VALIDATE_RANGE_ATTR, VALIDATE_RANGE_TAG_NAME, VALIDATE_REQUIRED_ATTR, VALIDATE_REQUIRED_TAG_NAME, VALIDATE_TYPE_ATTR, VALIDATE_TYPE_TAG_NAME, VALIDATE_VALID_WHEN_ATTR, VALIDATE_VALID_WHEN_TAG_NAME, VALIDATION_BEAN_TAG_NAME, VALIDATION_BEANS_ATTR, VALIDATION_ERROR_FORWARD_ATTR, VALIDATION_LOCALE_RULES_TAG_NAME, VALIDATOR_MERGE_ATTR, VALIDATOR_VERSION_ATTR, VALIDATOR_VERSION_ONE_ONE_STR, VALIDATOR_VERSION_ONE_ZERO_STR, VALUE_ATTR, VARIABLES_ATTR, VARIANT_ATTR, VERSION_8_SP2_STRING, VERSION_9_0_STRING, VIEW_PROPERTIES_TAG_NAME, WEBAPP_ROOT_PACKAGE, WEBINF_DIR_NAME, WEBINF_SRC_DIR, WEBINF_SRC_PATH, XJSP_FILE_EXTENSION, XML_FORM_CLASS_NAME
 
Constructor Summary
WebappPathType(boolean pathMustBeRelative, String requiredRuntimeVersion, AnnotationGrammar parentGrammar, FlowControllerInfo fcInfo)
           
 
Method Summary
protected  boolean allowFileInPageFlowSourceDir()
          Tell whether the file must be in the page flow directory.
protected  boolean checkAnyExtension()
           
protected  boolean doFatalError()
           
protected  FlowControllerInfo getFlowControllerInfo()
           
protected  boolean ignoreDirectories()
           
 Object onCheck(AnnotationTypeElementDeclaration valueDecl, AnnotationValue value, AnnotationMirror[] parentAnnotations, MemberDeclaration classMember, int annotationArrayIndex)
           
static boolean relativePathExists(String filePath, TypeDeclaration outerClass, AnnotationProcessorEnvironment env)
           
protected  void runAdditionalChecks(File file, AnnotationValue member)
           
 
Methods inherited from class AnnotationMemberType
addError, addError, addError, addWarning, addWarning, addWarning, check, getEnv, getParentGrammar
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WebappPathType

public WebappPathType(boolean pathMustBeRelative,
                      String requiredRuntimeVersion,
                      AnnotationGrammar parentGrammar,
                      FlowControllerInfo fcInfo)
Method Detail

onCheck

public Object onCheck(AnnotationTypeElementDeclaration valueDecl,
                      AnnotationValue value,
                      AnnotationMirror[] parentAnnotations,
                      MemberDeclaration classMember,
                      int annotationArrayIndex)
Overrides:
onCheck in class AnnotationMemberType
Returns:
a result (any Object) that will be passed back to the parent checker. May be null.

relativePathExists

public static boolean relativePathExists(String filePath,
                                         TypeDeclaration outerClass,
                                         AnnotationProcessorEnvironment env)

checkAnyExtension

protected boolean checkAnyExtension()

doFatalError

protected boolean doFatalError()

runAdditionalChecks

protected void runAdditionalChecks(File file,
                                   AnnotationValue member)

ignoreDirectories

protected boolean ignoreDirectories()

allowFileInPageFlowSourceDir

protected boolean allowFileInPageFlowSourceDir()
Tell whether the file must be in the page flow directory. If not, it is assumed to live in a webapp-addressable directory whose path corresponds to the page flow's package. This is here to support page flows in WEB-INF.


getFlowControllerInfo

protected FlowControllerInfo getFlowControllerInfo()