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

Object
  extended by AnnotationMemberType
      extended by UniqueValueType
All Implemented Interfaces:
JpfLanguageConstants
Direct Known Subclasses:
ForwardGrammar.ForwardNameType

public class UniqueValueType
extends AnnotationMemberType


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
UniqueValueType(String memberGroupName, boolean allowEmptyString, boolean checkDefaultValues, String requiredRuntimeVersion, AnnotationGrammar parentGrammar)
           
 
Method Summary
protected  boolean allowExactDuplicates()
           
protected  void checkForDuplicates(AnnotationValue member, String memberName, AnnotationMirror parentAnnotation, MemberDeclaration classMember, List<AnnotationMirror> annotationsToCheck, boolean includeEntityInMsg, int annotationArrayIndex)
           
protected  List<AnnotationMirror> getAdditionalAnnotationsToCheck(MemberDeclaration classMember)
          Plugin point for derived class -- if there should be no duplicates across another entity too.
protected  String getErrorMessageExtraInfo()
           
 Object onCheck(AnnotationTypeElementDeclaration valueDecl, AnnotationValue value, AnnotationMirror[] parentAnnotations, MemberDeclaration classMember, int annotationArrayIndex)
           
 
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

UniqueValueType

public UniqueValueType(String memberGroupName,
                       boolean allowEmptyString,
                       boolean checkDefaultValues,
                       String requiredRuntimeVersion,
                       AnnotationGrammar parentGrammar)
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.

getAdditionalAnnotationsToCheck

protected List<AnnotationMirror> getAdditionalAnnotationsToCheck(MemberDeclaration classMember)
Plugin point for derived class -- if there should be no duplicates across another entity too.

Returns:
a List of AnnotationMirror

getErrorMessageExtraInfo

protected String getErrorMessageExtraInfo()

checkForDuplicates

protected void checkForDuplicates(AnnotationValue member,
                                  String memberName,
                                  AnnotationMirror parentAnnotation,
                                  MemberDeclaration classMember,
                                  List<AnnotationMirror> annotationsToCheck,
                                  boolean includeEntityInMsg,
                                  int annotationArrayIndex)

allowExactDuplicates

protected boolean allowExactDuplicates()