/** * Copyright 2011-2017 Asakusa Framework Team. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.asakusafw.utils.java.model.syntax; /** * Represents a kind of properties in {@link Model}. * @since 0.1.0 * @version 0.9.1 */ public enum PropertyKind { /** * Represents {@link Annotation#getType()}. */ ANNOTATION_TYPE( Annotation.class, "type" //$NON-NLS-1$ ), /** * Represents {@link AnnotationElement#getName()}. */ ANNOTATION_ELEMENT_NAME( AnnotationElement.class, "name" //$NON-NLS-1$ ), /** * Represents {@link AnnotationElement#getExpression()}. */ ANNOTATION_ELEMENT_EXPRESSION( AnnotationElement.class, "expression" //$NON-NLS-1$ ), /** * Represents {@link AnnotationElementDeclaration#getType()}. */ ANNOTATION_ELEMENT_DECLARATION_TYPE( AnnotationElementDeclaration.class, "type" //$NON-NLS-1$ ), /** * Represents {@link AnnotationElementDeclaration#getName()}. */ ANNOTATION_ELEMENT_DECLARATION_NAME( AnnotationElementDeclaration.class, "name" //$NON-NLS-1$ ), /** * Represents {@link AnnotationElementDeclaration#getDefaultExpression()}. */ ANNOTATION_ELEMENT_DECLARATION_DEFAULT_EXPRESSION( AnnotationElementDeclaration.class, "defaultExpression" //$NON-NLS-1$ ), /** * Represents {@link ArrayAccessExpression#getArray()}. */ ARRAY_ACCESS_EXPRESSION_ARRAY( ArrayAccessExpression.class, "array" //$NON-NLS-1$ ), /** * Represents {@link ArrayAccessExpression#getIndex()}. */ ARRAY_ACCESS_EXPRESSION_INDEX( ArrayAccessExpression.class, "index" //$NON-NLS-1$ ), /** * Represents {@link ArrayCreationExpression#getType()}. */ ARRAY_CREATION_EXPRESSION_TYPE( ArrayCreationExpression.class, "type" //$NON-NLS-1$ ), /** * Represents {@link ArrayCreationExpression#getDimensionExpressions()}. */ ARRAY_CREATION_EXPRESSION_DIMENSION_EXPRESSIONS( ArrayCreationExpression.class, "dimensionExpressions" //$NON-NLS-1$ ), /** * Represents {@link ArrayCreationExpression#getArrayInitializer()}. */ ARRAY_CREATION_EXPRESSION_ARRAY_INITIALIZER( ArrayCreationExpression.class, "arrayInitializer" //$NON-NLS-1$ ), /** * Represents {@link ArrayInitializer#getElements()}. */ ARRAY_INITIALIZER_ELEMENTS( ArrayInitializer.class, "elements" //$NON-NLS-1$ ), /** * Represents {@link ArrayType#getComponentType()}. */ ARRAY_TYPE_COMPONENT_TYPE( ArrayType.class, "componentType" //$NON-NLS-1$ ), /** * Represents {@link AssertStatement#getExpression()}. */ ASSERT_STATEMENT_EXPRESSION( AssertStatement.class, "expression" //$NON-NLS-1$ ), /** * Represents {@link AssertStatement#getMessage()}. */ ASSERT_STATEMENT_MESSAGE( AssertStatement.class, "message" //$NON-NLS-1$ ), /** * Represents {@link AssignmentExpression#getLeftHandSide()}. */ ASSIGNMENT_EXPRESSION_LEFT_HAND_SIDE( AssignmentExpression.class, "leftHandSide" //$NON-NLS-1$ ), /** * Represents {@link AssignmentExpression#getOperator()}. */ ASSIGNMENT_EXPRESSION_OPERATOR( AssignmentExpression.class, "operator" //$NON-NLS-1$ ), /** * Represents {@link AssignmentExpression#getRightHandSide()}. */ ASSIGNMENT_EXPRESSION_RIGHT_HAND_SIDE( AssignmentExpression.class, "rightHandSide" //$NON-NLS-1$ ), /** * Represents {@link BasicType#getTypeKind()}. */ BASIC_TYPE_TYPE_KIND( BasicType.class, "typeKind" //$NON-NLS-1$ ), /** * Represents {@link Block#getStatements()}. */ BLOCK_STATEMENTS( Block.class, "statements" //$NON-NLS-1$ ), /** * Represents {@link BlockComment#getString()}. */ BLOCK_COMMENT_STRING( BlockComment.class, "string" //$NON-NLS-1$ ), /** * Represents {@link BranchStatement#getTarget()}. */ BRANCH_STATEMENT_TARGET( BranchStatement.class, "target" //$NON-NLS-1$ ), /** * Represents {@link CastExpression#getType()}. */ CAST_EXPRESSION_TYPE( CastExpression.class, "type" //$NON-NLS-1$ ), /** * Represents {@link CastExpression#getExpression()}. */ CAST_EXPRESSION_EXPRESSION( CastExpression.class, "expression" //$NON-NLS-1$ ), /** * Represents {@link CatchClause#getParameter()}. */ CATCH_CLAUSE_PARAMETER( CatchClause.class, "parameter" //$NON-NLS-1$ ), /** * Represents {@link CatchClause#getBody()}. */ CATCH_CLAUSE_BODY( CatchClause.class, "body" //$NON-NLS-1$ ), /** * Represents {@link ClassBody#getBodyDeclarations()}. */ CLASS_BODY_BODY_DECLARATIONS( ClassBody.class, "bodyDeclarations" //$NON-NLS-1$ ), /** * Represents {@link ClassDeclaration#getTypeParameters()}. */ CLASS_DECLARATION_TYPE_PARAMETERS( ClassDeclaration.class, "typeParameters" //$NON-NLS-1$ ), /** * Represents {@link ClassDeclaration#getSuperClass()}. */ CLASS_DECLARATION_SUPER_CLASS( ClassDeclaration.class, "superClass" //$NON-NLS-1$ ), /** * Represents {@link ClassDeclaration#getSuperInterfaceTypes()}. */ CLASS_DECLARATION_SUPER_INTERFACE_TYPES( ClassDeclaration.class, "superInterfaceTypes" //$NON-NLS-1$ ), /** * Represents {@link ClassInstanceCreationExpression#getQualifier()}. */ CLASS_INSTANCE_CREATION_EXPRESSION_QUALIFIER( ClassInstanceCreationExpression.class, "qualifier" //$NON-NLS-1$ ), /** * Represents {@link ClassInstanceCreationExpression#getTypeArguments()}. */ CLASS_INSTANCE_CREATION_EXPRESSION_TYPE_ARGUMENTS( ClassInstanceCreationExpression.class, "typeArguments" //$NON-NLS-1$ ), /** * Represents {@link ClassInstanceCreationExpression#getType()}. */ CLASS_INSTANCE_CREATION_EXPRESSION_TYPE( ClassInstanceCreationExpression.class, "type" //$NON-NLS-1$ ), /** * Represents {@link ClassInstanceCreationExpression#getArguments()}. */ CLASS_INSTANCE_CREATION_EXPRESSION_ARGUMENTS( ClassInstanceCreationExpression.class, "arguments" //$NON-NLS-1$ ), /** * Represents {@link ClassInstanceCreationExpression#getBody()}. */ CLASS_INSTANCE_CREATION_EXPRESSION_BODY( ClassInstanceCreationExpression.class, "body" //$NON-NLS-1$ ), /** * Represents {@link ClassLiteral#getType()}. */ CLASS_LITERAL_TYPE( ClassLiteral.class, "type" //$NON-NLS-1$ ), /** * Represents {@link CompilationUnit#getPackageDeclaration()}. */ COMPILATION_UNIT_PACKAGE_DECLARATION( CompilationUnit.class, "packageDeclaration" //$NON-NLS-1$ ), /** * Represents {@link CompilationUnit#getImportDeclarations()}. */ COMPILATION_UNIT_IMPORT_DECLARATIONS( CompilationUnit.class, "importDeclarations" //$NON-NLS-1$ ), /** * Represents {@link CompilationUnit#getTypeDeclarations()}. */ COMPILATION_UNIT_TYPE_DECLARATIONS( CompilationUnit.class, "typeDeclarations" //$NON-NLS-1$ ), /** * Represents {@link CompilationUnit#getComments()}. */ COMPILATION_UNIT_COMMENTS( CompilationUnit.class, "comments" //$NON-NLS-1$ ), /** * Represents {@link ConditionalExpression#getCondition()}. */ CONDITIONAL_EXPRESSION_CONDITION( ConditionalExpression.class, "condition" //$NON-NLS-1$ ), /** * Represents {@link ConditionalExpression#getThenExpression()}. */ CONDITIONAL_EXPRESSION_THEN_EXPRESSION( ConditionalExpression.class, "thenExpression" //$NON-NLS-1$ ), /** * Represents {@link ConditionalExpression#getElseExpression()}. */ CONDITIONAL_EXPRESSION_ELSE_EXPRESSION( ConditionalExpression.class, "elseExpression" //$NON-NLS-1$ ), /** * Represents {@link ConstructorInvocation#getTypeArguments()}. */ CONSTRUCTOR_INVOCATION_TYPE_ARGUMENTS( ConstructorInvocation.class, "typeArguments" //$NON-NLS-1$ ), /** * Represents {@link ConstructorInvocation#getArguments()}. */ CONSTRUCTOR_INVOCATION_ARGUMENTS( ConstructorInvocation.class, "arguments" //$NON-NLS-1$ ), /** * Represents {@link DoStatement#getBody()}. */ DO_STATEMENT_BODY( DoStatement.class, "body" //$NON-NLS-1$ ), /** * Represents {@link DoStatement#getCondition()}. */ DO_STATEMENT_CONDITION( DoStatement.class, "condition" //$NON-NLS-1$ ), /** * Represents {@link DocBlock#getTag()}. */ DOC_BLOCK_TAG( DocBlock.class, "tag" //$NON-NLS-1$ ), /** * Represents {@link DocBlock#getElements()}. */ DOC_BLOCK_ELEMENTS( DocBlock.class, "elements" //$NON-NLS-1$ ), /** * Represents {@link DocField#getType()}. */ DOC_FIELD_TYPE( DocField.class, "type" //$NON-NLS-1$ ), /** * Represents {@link DocField#getName()}. */ DOC_FIELD_NAME( DocField.class, "name" //$NON-NLS-1$ ), /** * Represents {@link DocMethod#getType()}. */ DOC_METHOD_TYPE( DocMethod.class, "type" //$NON-NLS-1$ ), /** * Represents {@link DocMethod#getName()}. */ DOC_METHOD_NAME( DocMethod.class, "name" //$NON-NLS-1$ ), /** * Represents {@link DocMethod#getFormalParameters()}. */ DOC_METHOD_FORMAL_PARAMETERS( DocMethod.class, "formalParameters" //$NON-NLS-1$ ), /** * Represents {@link DocMethodParameter#getType()}. */ DOC_METHOD_PARAMETER_TYPE( DocMethodParameter.class, "type" //$NON-NLS-1$ ), /** * Represents {@link DocMethodParameter#getName()}. */ DOC_METHOD_PARAMETER_NAME( DocMethodParameter.class, "name" //$NON-NLS-1$ ), /** * Represents {@link DocMethodParameter#isVariableArity()}. */ DOC_METHOD_PARAMETER_VARIABLE_ARITY( DocMethodParameter.class, "variableArity" //$NON-NLS-1$ ), /** * Represents {@link DocText#getString()}. */ DOC_TEXT_STRING( DocText.class, "string" //$NON-NLS-1$ ), /** * Represents {@link EnhancedForStatement#getParameter()}. */ ENHANCED_FOR_STATEMENT_PARAMETER( EnhancedForStatement.class, "parameter" //$NON-NLS-1$ ), /** * Represents {@link EnhancedForStatement#getExpression()}. */ ENHANCED_FOR_STATEMENT_EXPRESSION( EnhancedForStatement.class, "expression" //$NON-NLS-1$ ), /** * Represents {@link EnhancedForStatement#getBody()}. */ ENHANCED_FOR_STATEMENT_BODY( EnhancedForStatement.class, "body" //$NON-NLS-1$ ), /** * Represents {@link EnumConstantDeclaration#getName()}. */ ENUM_CONSTANT_DECLARATION_NAME( EnumConstantDeclaration.class, "name" //$NON-NLS-1$ ), /** * Represents {@link EnumConstantDeclaration#getArguments()}. */ ENUM_CONSTANT_DECLARATION_ARGUMENTS( EnumConstantDeclaration.class, "arguments" //$NON-NLS-1$ ), /** * Represents {@link EnumConstantDeclaration#getBody()}. */ ENUM_CONSTANT_DECLARATION_BODY( EnumConstantDeclaration.class, "body" //$NON-NLS-1$ ), /** * Represents {@link EnumDeclaration#getSuperInterfaceTypes()}. */ ENUM_DECLARATION_SUPER_INTERFACE_TYPES( EnumDeclaration.class, "superInterfaceTypes" //$NON-NLS-1$ ), /** * Represents {@link EnumDeclaration#getConstantDeclarations()}. */ ENUM_DECLARATION_CONSTANT_DECLARATIONS( EnumDeclaration.class, "constantDeclarations" //$NON-NLS-1$ ), /** * Represents {@link ExpressionStatement#getExpression()}. */ EXPRESSION_STATEMENT_EXPRESSION( ExpressionStatement.class, "expression" //$NON-NLS-1$ ), /** * Represents {@link FieldAccessExpression#getQualifier()}. */ FIELD_ACCESS_EXPRESSION_QUALIFIER( FieldAccessExpression.class, "qualifier" //$NON-NLS-1$ ), /** * Represents {@link FieldAccessExpression#getName()}. */ FIELD_ACCESS_EXPRESSION_NAME( FieldAccessExpression.class, "name" //$NON-NLS-1$ ), /** * Represents {@link FieldDeclaration#getType()}. */ FIELD_DECLARATION_TYPE( FieldDeclaration.class, "type" //$NON-NLS-1$ ), /** * Represents {@link FieldDeclaration#getVariableDeclarators()}. */ FIELD_DECLARATION_VARIABLE_DECLARATORS( FieldDeclaration.class, "variableDeclarators" //$NON-NLS-1$ ), /** * Represents {@link ForStatement#getInitialization()}. */ FOR_STATEMENT_INITIALIZATION( ForStatement.class, "initialization" //$NON-NLS-1$ ), /** * Represents {@link ForStatement#getCondition()}. */ FOR_STATEMENT_CONDITION( ForStatement.class, "condition" //$NON-NLS-1$ ), /** * Represents {@link ForStatement#getUpdate()}. */ FOR_STATEMENT_UPDATE( ForStatement.class, "update" //$NON-NLS-1$ ), /** * Represents {@link ForStatement#getBody()}. */ FOR_STATEMENT_BODY( ForStatement.class, "body" //$NON-NLS-1$ ), /** * Represents {@link FormalParameterDeclaration#getModifiers()}. */ FORMAL_PARAMETER_DECLARATION_MODIFIERS( FormalParameterDeclaration.class, "modifiers" //$NON-NLS-1$ ), /** * Represents {@link FormalParameterDeclaration#getType()}. */ FORMAL_PARAMETER_DECLARATION_TYPE( FormalParameterDeclaration.class, "type" //$NON-NLS-1$ ), /** * Represents {@link FormalParameterDeclaration#isVariableArity()}. */ FORMAL_PARAMETER_DECLARATION_VARIABLE_ARITY( FormalParameterDeclaration.class, "variableArity" //$NON-NLS-1$ ), /** * Represents {@link FormalParameterDeclaration#getName()}. */ FORMAL_PARAMETER_DECLARATION_NAME( FormalParameterDeclaration.class, "name" //$NON-NLS-1$ ), /** * Represents {@link FormalParameterDeclaration#getExtraDimensions()}. */ FORMAL_PARAMETER_DECLARATION_EXTRA_DIMENSIONS( FormalParameterDeclaration.class, "extraDimensions" //$NON-NLS-1$ ), /** * Represents {@link IfStatement#getCondition()}. */ IF_STATEMENT_CONDITION( IfStatement.class, "condition" //$NON-NLS-1$ ), /** * Represents {@link IfStatement#getThenStatement()}. */ IF_STATEMENT_THEN_STATEMENT( IfStatement.class, "thenStatement" //$NON-NLS-1$ ), /** * Represents {@link IfStatement#getElseStatement()}. */ IF_STATEMENT_ELSE_STATEMENT( IfStatement.class, "elseStatement" //$NON-NLS-1$ ), /** * Represents {@link ImportDeclaration#getImportKind()}. */ IMPORT_DECLARATION_IMPORT_KIND( ImportDeclaration.class, "importKind" //$NON-NLS-1$ ), /** * Represents {@link ImportDeclaration#getName()}. */ IMPORT_DECLARATION_NAME( ImportDeclaration.class, "name" //$NON-NLS-1$ ), /** * Represents {@link InfixExpression#getLeftOperand()}. */ INFIX_EXPRESSION_LEFT_OPERAND( InfixExpression.class, "leftOperand" //$NON-NLS-1$ ), /** * Represents {@link InfixExpression#getOperator()}. */ INFIX_EXPRESSION_OPERATOR( InfixExpression.class, "operator" //$NON-NLS-1$ ), /** * Represents {@link InfixExpression#getRightOperand()}. */ INFIX_EXPRESSION_RIGHT_OPERAND( InfixExpression.class, "rightOperand" //$NON-NLS-1$ ), /** * Represents {@link InitializerDeclaration#getBody()}. */ INITIALIZER_DECLARATION_BODY( InitializerDeclaration.class, "body" //$NON-NLS-1$ ), /** * Represents {@link InstanceofExpression#getExpression()}. */ INSTANCEOF_EXPRESSION_EXPRESSION( InstanceofExpression.class, "expression" //$NON-NLS-1$ ), /** * Represents {@link InstanceofExpression#getType()}. */ INSTANCEOF_EXPRESSION_TYPE( InstanceofExpression.class, "type" //$NON-NLS-1$ ), /** * Represents {@link InterfaceDeclaration#getTypeParameters()}. */ INTERFACE_DECLARATION_TYPE_PARAMETERS( InterfaceDeclaration.class, "typeParameters" //$NON-NLS-1$ ), /** * Represents {@link InterfaceDeclaration#getSuperInterfaceTypes()}. */ INTERFACE_DECLARATION_SUPER_INTERFACE_TYPES( InterfaceDeclaration.class, "superInterfaceTypes" //$NON-NLS-1$ ), /** * Represents {@link Javadoc#getBlocks()}. */ JAVADOC_BLOCKS( Javadoc.class, "blocks" //$NON-NLS-1$ ), /** * Represents {@link Keyword#getQualifier()}. */ KEYWORD_QUALIFIER( Keyword.class, "qualifier" //$NON-NLS-1$ ), /** * Represents {@link LabeledStatement#getLabel()}. */ LABELED_STATEMENT_LABEL( LabeledStatement.class, "label" //$NON-NLS-1$ ), /** * Represents {@link LabeledStatement#getBody()}. */ LABELED_STATEMENT_BODY( LabeledStatement.class, "body" //$NON-NLS-1$ ), /** * Represents {@link LambdaExpression#getParameters()}. * @since 0.9.0 */ LAMBDA_EXPRESSION_PARAMETERS( LambdaParameter.class, "parameters" //$NON-NLS-1$ ), /** * Represents {@link LambdaExpression#getBody()}. * @since 0.9.0 */ LAMBDA_EXPRESSION_BODY( LambdaBody.class, "body" //$NON-NLS-1$ ), /** * Represents {@link LineComment#getString()}. */ LINE_COMMENT_STRING( LineComment.class, "string" //$NON-NLS-1$ ), /** * Represents {@link Literal#getToken()}. */ LITERAL_TOKEN( Literal.class, "token" //$NON-NLS-1$ ), /** * Represents {@link LocalClassDeclaration#getDeclaration()}. */ LOCAL_CLASS_DECLARATION_DECLARATION( LocalClassDeclaration.class, "declaration" //$NON-NLS-1$ ), /** * Represents {@link LocalVariableDeclaration#getModifiers()}. */ LOCAL_VARIABLE_DECLARATION_MODIFIERS( LocalVariableDeclaration.class, "modifiers" //$NON-NLS-1$ ), /** * Represents {@link LocalVariableDeclaration#getType()}. */ LOCAL_VARIABLE_DECLARATION_TYPE( LocalVariableDeclaration.class, "type" //$NON-NLS-1$ ), /** * Represents {@link LocalVariableDeclaration#getVariableDeclarators()}. */ LOCAL_VARIABLE_DECLARATION_VARIABLE_DECLARATORS( LocalVariableDeclaration.class, "variableDeclarators" //$NON-NLS-1$ ), /** * Represents {@link MethodDeclaration#getReturnType()}. */ METHOD_DECLARATION_RETURN_TYPE( MethodDeclaration.class, "returnType" //$NON-NLS-1$ ), /** * Represents {@link MethodDeclaration#getExtraDimensions()}. */ METHOD_DECLARATION_EXTRA_DIMENSIONS( MethodDeclaration.class, "extraDimensions" //$NON-NLS-1$ ), /** * Represents {@link MethodInvocationExpression#getQualifier()}. */ METHOD_INVOCATION_EXPRESSION_QUALIFIER( MethodInvocationExpression.class, "qualifier" //$NON-NLS-1$ ), /** * Represents {@link MethodInvocationExpression#getTypeArguments()}. */ METHOD_INVOCATION_EXPRESSION_TYPE_ARGUMENTS( MethodInvocationExpression.class, "typeArguments" //$NON-NLS-1$ ), /** * Represents {@link MethodInvocationExpression#getName()}. */ METHOD_INVOCATION_EXPRESSION_NAME( MethodInvocationExpression.class, "name" //$NON-NLS-1$ ), /** * Represents {@link MethodInvocationExpression#getArguments()}. */ METHOD_INVOCATION_EXPRESSION_ARGUMENTS( MethodInvocationExpression.class, "arguments" //$NON-NLS-1$ ), /** * Represents {@link MethodOrConstructorReferenceExpression#getQualifier()}. * @since 0.9.1 */ METHOD_OR_CONSTRUCTOR_REFERENCE_EXPRESSION_QUALIFIER( MethodReferenceExpression.class, "qualifier" //$NON-NLS-1$ ), /** * Represents {@link MethodOrConstructorReferenceExpression#getTypeArguments()}. * @since 0.9.1 */ METHOD_OR_CONSTRUCTOR_REFERENCE_EXPRESSION_TYPE_ARGUMENTS( MethodOrConstructorReferenceExpression.class, "typeArguments" //$NON-NLS-1$ ), /** * Represents {@link MethodReferenceExpression#getName()}. * @since 0.9.1 */ METHOD_REFERENCE_EXPRESSION_NAME( MethodReferenceExpression.class, "name" //$NON-NLS-1$ ), /** * Represents {@link MethodOrConstructorDeclaration#getTypeParameters()}. */ METHOD_OR_CONSTRUCTOR_DECLARATION_TYPE_PARAMETERS( MethodOrConstructorDeclaration.class, "typeParameters" //$NON-NLS-1$ ), /** * Represents {@link MethodOrConstructorDeclaration#getName()}. */ METHOD_OR_CONSTRUCTOR_DECLARATION_NAME( MethodOrConstructorDeclaration.class, "name" //$NON-NLS-1$ ), /** * Represents {@link MethodOrConstructorDeclaration#getFormalParameters()}. */ METHOD_OR_CONSTRUCTOR_DECLARATION_FORMAL_PARAMETERS( MethodOrConstructorDeclaration.class, "formalParameters" //$NON-NLS-1$ ), /** * Represents {@link MethodOrConstructorDeclaration#getExceptionTypes()}. */ METHOD_OR_CONSTRUCTOR_DECLARATION_EXCEPTION_TYPES( MethodOrConstructorDeclaration.class, "exceptionTypes" //$NON-NLS-1$ ), /** * Represents {@link MethodOrConstructorDeclaration#getBody()}. */ METHOD_OR_CONSTRUCTOR_DECLARATION_BODY( MethodOrConstructorDeclaration.class, "body" //$NON-NLS-1$ ), /** * Represents {@link Modifier#getModifierKind()}. */ MODIFIER_MODIFIER_KIND( Modifier.class, "modifierKind" //$NON-NLS-1$ ), /** * Represents {@link NamedType#getName()}. */ NAMED_TYPE_NAME( NamedType.class, "name" //$NON-NLS-1$ ), /** * Represents {@link NormalAnnotation#getElements()}. */ NORMAL_ANNOTATION_ELEMENTS( NormalAnnotation.class, "elements" //$NON-NLS-1$ ), /** * Represents {@link PackageDeclaration#getJavadoc()}. */ PACKAGE_DECLARATION_JAVADOC( PackageDeclaration.class, "javadoc" //$NON-NLS-1$ ), /** * Represents {@link PackageDeclaration#getAnnotations()}. */ PACKAGE_DECLARATION_ANNOTATIONS( PackageDeclaration.class, "annotations" //$NON-NLS-1$ ), /** * Represents {@link PackageDeclaration#getName()}. */ PACKAGE_DECLARATION_NAME( PackageDeclaration.class, "name" //$NON-NLS-1$ ), /** * Represents {@link ParameterizedType#getType()}. */ PARAMETERIZED_TYPE_TYPE( ParameterizedType.class, "type" //$NON-NLS-1$ ), /** * Represents {@link ParameterizedType#getTypeArguments()}. */ PARAMETERIZED_TYPE_TYPE_ARGUMENTS( ParameterizedType.class, "typeArguments" //$NON-NLS-1$ ), /** * Represents {@link ParenthesizedExpression#getExpression()}. */ PARENTHESIZED_EXPRESSION_EXPRESSION( ParenthesizedExpression.class, "expression" //$NON-NLS-1$ ), /** * Represents {@link PostfixExpression#getOperand()}. */ POSTFIX_EXPRESSION_OPERAND( PostfixExpression.class, "operand" //$NON-NLS-1$ ), /** * Represents {@link PostfixExpression#getOperator()}. */ POSTFIX_EXPRESSION_OPERATOR( PostfixExpression.class, "operator" //$NON-NLS-1$ ), /** * Represents {@link QualifiedName#getQualifier()}. */ QUALIFIED_NAME_QUALIFIER( QualifiedName.class, "qualifier" //$NON-NLS-1$ ), /** * Represents {@link QualifiedName#getSimpleName()}. */ QUALIFIED_NAME_SIMPLE_NAME( QualifiedName.class, "simpleName" //$NON-NLS-1$ ), /** * Represents {@link QualifiedType#getQualifier()}. */ QUALIFIED_TYPE_QUALIFIER( QualifiedType.class, "qualifier" //$NON-NLS-1$ ), /** * Represents {@link QualifiedType#getSimpleName()}. */ QUALIFIED_TYPE_SIMPLE_NAME( QualifiedType.class, "simpleName" //$NON-NLS-1$ ), /** * Represents {@link ReturnStatement#getExpression()}. */ RETURN_STATEMENT_EXPRESSION( ReturnStatement.class, "expression" //$NON-NLS-1$ ), /** * Represents {@link SimpleName#getToken()}. */ SIMPLE_NAME_STRING( SimpleName.class, "token" //$NON-NLS-1$ ), /** * Represents {@link SingleElementAnnotation#getExpression()}. */ SINGLE_ELEMENT_ANNOTATION_EXPRESSION( SingleElementAnnotation.class, "expression" //$NON-NLS-1$ ), /** * Represents {@link StatementExpressionList#getExpressions()}. */ STATEMENT_EXPRESSION_LIST_EXPRESSIONS( StatementExpressionList.class, "expressions" //$NON-NLS-1$ ), /** * Represents {@link SuperConstructorInvocation#getQualifier()}. */ SUPER_CONSTRUCTOR_INVOCATION_QUALIFIER( SuperConstructorInvocation.class, "qualifier" //$NON-NLS-1$ ), /** * Represents {@link SwitchCaseLabel#getExpression()}. */ SWITCH_CASE_LABEL_EXPRESSION( SwitchCaseLabel.class, "expression" //$NON-NLS-1$ ), /** * Represents {@link SwitchStatement#getExpression()}. */ SWITCH_STATEMENT_EXPRESSION( SwitchStatement.class, "expression" //$NON-NLS-1$ ), /** * Represents {@link SwitchStatement#getStatements()}. */ SWITCH_STATEMENT_STATEMENTS( SwitchStatement.class, "statements" //$NON-NLS-1$ ), /** * Represents {@link SynchronizedStatement#getExpression()}. */ SYNCHRONIZED_STATEMENT_EXPRESSION( SynchronizedStatement.class, "expression" //$NON-NLS-1$ ), /** * Represents {@link SynchronizedStatement#getBody()}. */ SYNCHRONIZED_STATEMENT_BODY( SynchronizedStatement.class, "body" //$NON-NLS-1$ ), /** * Represents {@link ThrowStatement#getExpression()}. */ THROW_STATEMENT_EXPRESSION( ThrowStatement.class, "expression" //$NON-NLS-1$ ), /** * Represents {@link TryResource#getParameter()}. */ TRY_RESOURCE_PARAMETER( TryResource.class, "parameter" //$NON-NLS-1$ ), /** * Represents {@link TryResource#getInitializer()}. */ TRY_RESOURCE_INITIALIZER( TryResource.class, "initializer" //$NON-NLS-1$ ), /** * Represents {@link TryStatement#getResources()}. */ TRY_STATEMENT_RESOURCES( TryStatement.class, "resources" //$NON-NLS-1$ ), /** * Represents {@link TryStatement#getTryBlock()}. */ TRY_STATEMENT_TRY_BLOCK( TryStatement.class, "tryBlock" //$NON-NLS-1$ ), /** * Represents {@link TryStatement#getCatchClauses()}. */ TRY_STATEMENT_CATCH_CLAUSES( TryStatement.class, "catchClauses" //$NON-NLS-1$ ), /** * Represents {@link TryStatement#getFinallyBlock()}. */ TRY_STATEMENT_FINALLY_BLOCK( TryStatement.class, "finallyBlock" //$NON-NLS-1$ ), /** * Represents {@link TypeBodyDeclaration#getJavadoc()}. */ TYPE_BODY_DECLARATION_JAVADOC( TypeBodyDeclaration.class, "javadoc" //$NON-NLS-1$ ), /** * Represents {@link TypeBodyDeclaration#getModifiers()}. */ TYPE_BODY_DECLARATION_MODIFIERS( TypeBodyDeclaration.class, "modifiers" //$NON-NLS-1$ ), /** * Represents {@link TypeDeclaration#getName()}. */ TYPE_DECLARATION_NAME( TypeDeclaration.class, "name" //$NON-NLS-1$ ), /** * Represents {@link TypeDeclaration#getBodyDeclarations()}. */ TYPE_DECLARATION_BODY_DECLARATIONS( TypeDeclaration.class, "bodyDeclarations" //$NON-NLS-1$ ), /** * Represents {@link TypeParameterDeclaration#getName()}. */ TYPE_PARAMETER_DECLARATION_NAME( TypeParameterDeclaration.class, "name" //$NON-NLS-1$ ), /** * Represents {@link TypeParameterDeclaration#getTypeBounds()}. */ TYPE_PARAMETER_DECLARATION_TYPE_BOUNDS( TypeParameterDeclaration.class, "typeBounds" //$NON-NLS-1$ ), /** * Represents {@link UnaryExpression#getOperator()}. */ UNARY_EXPRESSION_OPERATOR( UnaryExpression.class, "operator" //$NON-NLS-1$ ), /** * Represents {@link UnaryExpression#getOperand()}. */ UNARY_EXPRESSION_OPERAND( UnaryExpression.class, "operand" //$NON-NLS-1$ ), /** * Represents {@link UnionType#getAlternativeTypes()}. */ UNION_TYPE_ALTERNATIVE_TYPES( UnionType.class, "alternativeTypes" //$NON-NLS-1$ ), /** * Represents {@link VariableDeclarator#getName()}. */ VARIABLE_DECLARATOR_NAME( VariableDeclarator.class, "name" //$NON-NLS-1$ ), /** * Represents {@link VariableDeclarator#getExtraDimensions()}. */ VARIABLE_DECLARATOR_EXTRA_DIMENSIONS( VariableDeclarator.class, "extraDimensions" //$NON-NLS-1$ ), /** * Represents {@link VariableDeclarator#getInitializer()}. */ VARIABLE_DECLARATOR_INITIALIZER( VariableDeclarator.class, "initializer" //$NON-NLS-1$ ), /** * Represents {@link WhileStatement#getCondition()}. */ WHILE_STATEMENT_CONDITION( WhileStatement.class, "condition" //$NON-NLS-1$ ), /** * Represents {@link WhileStatement#getBody()}. */ WHILE_STATEMENT_BODY( WhileStatement.class, "body" //$NON-NLS-1$ ), /** * Represents {@link Wildcard#getBoundKind()}. */ WILDCARD_BOUND_KIND( Wildcard.class, "boundKind" //$NON-NLS-1$ ), /** * Represents {@link Wildcard#getTypeBound()}. */ WILDCARD_TYPE_BOUND( Wildcard.class, "typeBound" //$NON-NLS-1$ ), ; private Class<? extends Model> ownerType; private String name; PropertyKind(Class<? extends Model> ownerType, String name) { assert ownerType != null; assert name != null; this.ownerType = ownerType; this.name = name; } /** * Returns the interface type of the property owner. * @return the interface type of the property owner */ public Class<? extends Model> getOwnerType() { return ownerType; } /** * Returns the name of this property. * @return the property name */ public String getPropertyName() { return name; } @Override public String toString() { return java.text.MessageFormat.format( "{0}#{1}", //$NON-NLS-1$ getOwnerType().getName(), getPropertyName()); } }