|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.persistence.jpa.jpql.AbstractRefactoringTool org.eclipse.persistence.jpa.jpql.BasicRefactoringTool
public abstract class BasicRefactoringTool
The abstract implementation providing refactoring support for JPQL queries. This version does not
changes the org.eclipse.persistence.jpa.jpql.model.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.
DefaultBasicRefactoringTool
,
EclipseLinkBasicRefactoringTool
Nested Class Summary | |
---|---|
protected class |
BasicRefactoringTool.AbstractRenamer
The abstract class that all refactoring classes should extend, it automatically provides the MultiTextEdit that will holds the TextEdit objects that are related to
the same refactoring event. |
protected class |
BasicRefactoringTool.ClassNameRenamer
This visitor renames a fully qualified class name. |
protected class |
BasicRefactoringTool.EntityNameRenamer
This visitor renames an entity name. |
protected class |
BasicRefactoringTool.EnumConstantRenamer
This visitor renames an enum constant. |
protected class |
BasicRefactoringTool.FieldNameRenamer
This visitor renames any segment of a path expression. |
protected class |
BasicRefactoringTool.ResultVariableNameRenamer
This visitor renames all the result variables found in the JPQL query. |
protected class |
BasicRefactoringTool.VariableNameRenamer
This visitor renames all the identification variables found in the JPQL query. |
Constructor Summary | |
---|---|
protected |
BasicRefactoringTool(java.lang.CharSequence jpqlQuery,
JPQLGrammar jpqlGrammar,
IManagedTypeProvider managedTypeProvider)
Creates a new BasicRefactoringTool . |
protected |
BasicRefactoringTool(java.lang.CharSequence jpqlFragment,
JPQLGrammar jpqlGrammar,
IManagedTypeProvider managedTypeProvider,
java.lang.String jpqlQueryBNFId)
Creates a new BasicRefactoringTool . |
Method Summary | |
---|---|
protected BasicRefactoringTool.ClassNameRenamer |
buildClassNameRenamer(java.lang.String oldClassName,
java.lang.String newClassName)
Creates the visitor that will traverse the representation of the JPQL
query and will rename the fully qualified class name. |
protected BasicRefactoringTool.EntityNameRenamer |
buildEntityNameRenamer(java.lang.String oldEntityName,
java.lang.String newEntityName)
Creates the visitor that will traverse the representation of the JPQL
query and will rename the entity name. |
protected BasicRefactoringTool.EnumConstantRenamer |
buildEnumConstantRenamer(java.lang.String oldClassName,
java.lang.String newClassName)
Creates the visitor that will traverse the representation of the JPQL
query and will rename the enum constant. |
protected BasicRefactoringTool.FieldNameRenamer |
buildFieldNameRenamer(java.lang.String typeName,
java.lang.String oldFieldName,
java.lang.String newFieldName)
Creates the visitor that will traverse the representation of the JPQL
query and will rename a type's attribute name. |
protected abstract JPQLQueryContext |
buildJPQLQueryContext()
Creates a new JPQLQueryContext that can retrieve information from the declaration
portion of the JPQL query. |
protected BasicRefactoringTool.ResultVariableNameRenamer |
buildResultVariableNameRenamer(java.lang.String oldVariableName,
java.lang.String newVariableName)
Creates the visitor that will traverse the representation of the JPQL
query and will rename a result variable. |
protected BasicRefactoringTool.VariableNameRenamer |
buildVariableNameRenamer(java.lang.String oldVariableName,
java.lang.String newVariableName)
Creates the visitor that will traverse the representation of the JPQL
query and will rename an identification variable. |
RefactoringDelta |
getDelta()
Returns the delta of the changes made to the JPQL query. |
JPQLExpression |
getExpression()
Returns the parsed tree representation of the JPQL query. |
JPQLGrammar |
getGrammar()
Returns the JPQLGrammar that is associated with this builder. |
JPQLQueryContext |
getQueryContext()
Returns the JPQLQueryContext that is used by this visitor. |
boolean |
hasChanges()
Determines whether some refactoring operations found changes to be made in the JPQL query. |
void |
renameClassName(java.lang.String oldClassName,
java.lang.String newClassName)
Renames a fully qualified class name. |
void |
renameEntityName(java.lang.String oldEntityName,
java.lang.String newEntityName)
Renames a given entity name. |
void |
renameEnumConstant(java.lang.String oldEnumConstant,
java.lang.String newEnumConstant)
Renames an enum constant, which has to be fully qualified. |
void |
renameField(java.lang.Class<?> type,
java.lang.String oldFieldName,
java.lang.String newFieldName)
Renames a field from the given type. |
void |
renameField(IType type,
java.lang.String oldFieldName,
java.lang.String newFieldName)
Renames a field from the given type. |
void |
renameField(java.lang.String typeName,
java.lang.String oldFieldName,
java.lang.String newFieldName)
Renames a field from the given type. |
void |
renameResultVariable(java.lang.String oldVariableName,
java.lang.String newVariableName)
Renames a result variable name. |
void |
renameVariable(java.lang.String oldVariableName,
java.lang.String newVariableName)
Renames a variable name. |
java.lang.String |
toActualText()
Returns the resulted of the refactoring operations. |
Methods inherited from class org.eclipse.persistence.jpa.jpql.AbstractRefactoringTool |
---|
getJPQLFragment, getJPQLQueryBNFId, getManagedTypeProvider, isTolerant, setTolerant |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected BasicRefactoringTool(java.lang.CharSequence jpqlQuery, JPQLGrammar jpqlGrammar, IManagedTypeProvider managedTypeProvider)
BasicRefactoringTool
.
jpqlQuery
- The JPQL query to manipulatejpqlGrammar
- The JPQLGrammar
that was used to parse the JPQL querymanagedTypeProvider
- The external form of a provider that gives access to the JPA metadataprotected BasicRefactoringTool(java.lang.CharSequence jpqlFragment, JPQLGrammar jpqlGrammar, IManagedTypeProvider managedTypeProvider, java.lang.String jpqlQueryBNFId)
BasicRefactoringTool
.
jpqlFragment
- The JPQL query to manipulate or a single JPQL fragment, which is parsed
using the JPQL query BNF identifier by the given IDjpqlGrammar
- The JPQLGrammar
that was used to parse the JPQL fragmentmanagedTypeProvider
- The external form of a provider that gives access to the JPA metadatajpqlQueryBNFId
- The unique identifier of the parser.JPQLQueryBNF JPQLQueryBNF
that determines how to parse the JPQL fragmentMethod Detail |
---|
protected BasicRefactoringTool.ClassNameRenamer buildClassNameRenamer(java.lang.String oldClassName, java.lang.String newClassName)
representation of the JPQL
query and will rename the fully qualified class name.
oldClassName
- The current name of the class to renamenewClassName
- The new name of the class
BasicRefactoringTool.ClassNameRenamer
protected BasicRefactoringTool.EntityNameRenamer buildEntityNameRenamer(java.lang.String oldEntityName, java.lang.String newEntityName)
representation of the JPQL
query and will rename the entity name.
oldEntityName
- The current name of the entity to renamenewEntityName
- The new name of the entity
BasicRefactoringTool.EntityNameRenamer
protected BasicRefactoringTool.EnumConstantRenamer buildEnumConstantRenamer(java.lang.String oldClassName, java.lang.String newClassName)
representation of the JPQL
query and will rename the enum constant.
oldClassName
- The new name of the enum constantnewClassName
- The current name of the enum constant to rename
BasicRefactoringTool.EnumConstantRenamer
protected BasicRefactoringTool.FieldNameRenamer buildFieldNameRenamer(java.lang.String typeName, java.lang.String oldFieldName, java.lang.String newFieldName)
representation of the JPQL
query and will rename a type's attribute name.
typeName
- The fully qualified name of the type that got one of its attributes renamedoldFieldName
- The current name of the attribute to renamenewFieldName
- The new name of the attribute
BasicRefactoringTool.FieldNameRenamer
protected abstract JPQLQueryContext buildJPQLQueryContext()
JPQLQueryContext
that can retrieve information from the declaration
portion of the JPQL query.
JPQLQueryContext
protected BasicRefactoringTool.ResultVariableNameRenamer buildResultVariableNameRenamer(java.lang.String oldVariableName, java.lang.String newVariableName)
representation of the JPQL
query and will rename a result variable.
oldVariableName
- The current result variable namenewVariableName
- The new name of the result variable
BasicRefactoringTool.ResultVariableNameRenamer
protected BasicRefactoringTool.VariableNameRenamer buildVariableNameRenamer(java.lang.String oldVariableName, java.lang.String newVariableName)
representation of the JPQL
query and will rename an identification variable.
oldVariableName
- The current identification variable namenewVariableName
- The new name of the identification variable
BasicRefactoringTool.ResultVariableNameRenamer
public RefactoringDelta getDelta()
public JPQLExpression getExpression()
public JPQLGrammar getGrammar()
JPQLGrammar
that is associated with this builder.
JPQLGrammar
that was used to parse the JPQL query or JPQL fragmentspublic JPQLQueryContext getQueryContext()
JPQLQueryContext
that is used by this visitor.
JPQLQueryContext
holding onto the JPQL query and the cached informationpublic boolean hasChanges()
true
if there is at least one TextEdit
; false
otherwisepublic void renameClassName(java.lang.String oldClassName, java.lang.String newClassName)
oldClassName
- The current fully qualified class name of the class to renamenewClassName
- The new fully qualified class namepublic void renameEntityName(java.lang.String oldEntityName, java.lang.String newEntityName)
oldEntityName
- The current name of the entity to renamenewEntityName
- The new name of the entitypublic void renameEnumConstant(java.lang.String oldEnumConstant, java.lang.String newEnumConstant)
oldEnumConstant
- The current fully qualified name of the enum constant to renamenewEnumConstant
- The new fully qualified name of the enum constantpublic void renameField(java.lang.Class<?> type, java.lang.String oldFieldName, java.lang.String newFieldName)
type
- The Java class from which the change originateoldFieldName
- The current name of the attribute to renamenewFieldName
- The new name of the attributepublic void renameField(IType type, java.lang.String oldFieldName, java.lang.String newFieldName)
type
- The IType
from which the change originateoldFieldName
- The current name of the attribute to renamenewFieldName
- The new name of the attributepublic void renameField(java.lang.String typeName, java.lang.String oldFieldName, java.lang.String newFieldName)
typeName
- The fully qualified name of the type that got one of its attributes renamedoldFieldName
- The current name of the attribute to renamenewFieldName
- The new name of the attributepublic void renameResultVariable(java.lang.String oldVariableName, java.lang.String newVariableName)
oldVariableName
- The current identification variable namenewVariableName
- The new name of the identification variablepublic void renameVariable(java.lang.String oldVariableName, java.lang.String newVariableName)
oldVariableName
- The current identification variable namenewVariableName
- The new name of the identification variablepublic java.lang.String toActualText()
toActualText
in class AbstractRefactoringTool
|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |