Class RefactoringTool

  • Direct Known Subclasses:
    DefaultRefactoringTool, EclipseLinkRefactoringTool

    public abstract class RefactoringTool
    extends AbstractRefactoringTool
    The abstract implementation providing refactoring support for JPQL queries.

    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.4
    Author:
    Pascal Filion
    See Also:
    DefaultRefactoringTool, EclipseLinkRefactoringTool
    • Method Detail

      • 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
      • getJPQLQueryBuilder

        public IJPQLQueryBuilder getJPQLQueryBuilder()
        Returns the builder that creates the StateObject representation of the JPQL query.
        Returns:
        The builder of the StateObject to be manipulated
      • getStateObject

        public JPQLQueryStateObject getStateObject()
        Returns the StateObject representation of the JPQL query or JPQL fragment that was parsed.
        Returns:
        The editable state model
      • renameClassName

        public void renameClassName​(java.lang.String oldClassName,
                                    java.lang.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​(java.lang.String oldEntityName,
                                     java.lang.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​(java.lang.String oldEnumConstant,
                                       java.lang.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
      • renameField

        public void renameField​(java.lang.Class<?> type,
                                java.lang.String oldFieldName,
                                java.lang.String newFieldName)
        Renames a field from the given type.
        Parameters:
        type - The Java class from which the change originate
        oldFieldName - The current name of the attribute to rename
        newFieldName - The new name of the attribute
      • renameField

        public void renameField​(IType type,
                                java.lang.String oldFieldName,
                                java.lang.String newFieldName)
        Renames a field from the given type.
        Parameters:
        type - The IType from which the change originate
        oldFieldName - The current name of the attribute to rename
        newFieldName - The new name of the attribute
      • renameField

        public void renameField​(java.lang.String typeName,
                                java.lang.String oldFieldName,
                                java.lang.String newFieldName)
        Renames a field from the given type.
        Parameters:
        typeName - The fully qualified name of the type that got one of its attributes renamed
        oldFieldName - The current name of the attribute to rename
        newFieldName - The new name of the attribute
      • renameResultVariable

        public void renameResultVariable​(java.lang.String oldVariableName,
                                         java.lang.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​(java.lang.String oldVariableName,
                                   java.lang.String newVariableName)
        Renames a variable name.
        Parameters:
        oldVariableName - The current identification variable name
        newVariableName - The new name of the identification variable
      • setFormatter

        public void setFormatter​(IJPQLQueryFormatter jpqlQueryFormatter)
        Sets the IJPQLQueryFormatter that creates an accurate representation of the StateObject, i.e. that output the JPQL query with the case used for the JPQL identifier.
        Parameters:
        jpqlQueryFormatter - This formatter converts a StateObject representation of the JPQL query into a string representation
      • toActualText

        public java.lang.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