Class BasicRefactoringTool

  • Direct Known Subclasses:
    DefaultBasicRefactoringTool, EclipseLinkBasicRefactoringTool

    public abstract class BasicRefactoringTool
    extends AbstractRefactoringTool
    The abstract implementation providing refactoring support for JPQL queries. This version does not change the query but rather gather the changes in RefactoringDelta and it is the responsibility of the invoker to the actual change.

    Provisional API: This interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

    Since:
    2.4
    Version:
    2.6
    Author:
    Pascal Filion
    See Also:
    DefaultBasicRefactoringTool, EclipseLinkBasicRefactoringTool
    • Method Detail

      • getDelta

        public RefactoringDelta getDelta()
        Returns the delta of the changes made to the JPQL query.
        Returns:
        An object containing the refactoring events
      • getExpression

        public JPQLExpression getExpression()
        Returns the parsed tree representation of the JPQL query.
        Returns:
        The root of the parsed tree
      • getGrammar

        public JPQLGrammar getGrammar()
        Returns the JPQLGrammar that is associated with this builder.
        Returns:
        The JPQLGrammar that was used to parse the JPQL query or JPQL fragments
      • hasChanges

        public boolean hasChanges()
        Determines whether some refactoring operations found changes to be made in the JPQL query.
        Returns:
        true if there is at least one TextEdit; false otherwise
      • renameAttribute

        public void renameAttribute​(Class<?> type,
                                    String oldAttributeName,
                                    String newAttributeName)
        Renames the attribute (persistent field or persistent property) from the given type.
        Parameters:
        type - The Java class from which the change originate
        oldAttributeName - The current name of the attribute to rename
        newAttributeName - The new name of the attribute
      • renameAttribute

        public void renameAttribute​(IType type,
                                    String oldAttributeName,
                                    String newAttributeName)
        Renames the attribute (persistent field or persistent property) from the given type.
        Parameters:
        type - The IType from which the change originate
        oldAttributeName - The current name of the attribute to rename
        newAttributeName - The new name of the attribute
      • renameAttribute

        public void renameAttribute​(String typeName,
                                    String oldAttributeName,
                                    String newAttributeName)
        Renames the attribute (persistent field or persistent property) from the given type.
        Parameters:
        typeName - The fully qualified name of the type that got one of its attributes renamed
        oldAttributeName - The current name of the attribute to rename
        newAttributeName - The new name of the attribute
      • renameClassName

        public void renameClassName​(String oldClassName,
                                    String newClassName)
        Renames a fully qualified class name.
        Parameters:
        oldClassName - The current fully qualified class name of the class to rename
        newClassName - The new fully qualified class name
      • renameEntityName

        public void renameEntityName​(String oldEntityName,
                                     String newEntityName)
        Renames a given entity name.
        Parameters:
        oldEntityName - The current name of the entity to rename
        newEntityName - The new name of the entity
      • renameEnumConstant

        public void renameEnumConstant​(String oldEnumConstant,
                                       String newEnumConstant)
        Renames an enum constant, which has to be fully qualified.
        Parameters:
        oldEnumConstant - The current fully qualified name of the enum constant to rename
        newEnumConstant - The new fully qualified name of the enum constant
      • renameResultVariable

        public void renameResultVariable​(String oldVariableName,
                                         String newVariableName)
        Renames a result variable name.
        Parameters:
        oldVariableName - The current identification variable name
        newVariableName - The new name of the identification variable
      • renameVariable

        public void renameVariable​(String oldVariableName,
                                   String newVariableName)
        Renames a variable name.
        Parameters:
        oldVariableName - The current identification variable name
        newVariableName - The new name of the identification variable
      • toActualText

        public String toActualText()
        Returns the resulted of the refactoring operations. The list of changes will be removed after applying the changes.
        Specified by:
        toActualText in class AbstractRefactoringTool
        Returns:
        The string representation of the JPQL query that contains the changes