public class ClassRenamer extends SceneTransformer implements IJbcoTransform
SceneTransformer that renames class names as well as packages.| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
name |
debug, out, output| Constructor and Description |
|---|
ClassRenamer(Singletons.Global global)
Singleton constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addClassNameMapping(java.lang.String classNameSource,
java.lang.String classNameTarget)
Adds mapping for class name.
|
java.util.Map<java.lang.String,java.lang.String> |
getClassNameMapping(java.util.function.BiPredicate<java.lang.String,java.lang.String> predicate)
Gets mapping by predicate.
|
java.lang.String[] |
getDependencies()
Gets array of
jbco transformer code names on which current transformer depends on. |
java.lang.String |
getName()
Gets the code name of
jbco transformer implementation. |
java.lang.String |
getNewName(java.lang.String packageName,
java.lang.String className)
Generates new unique name that have not existed before and mapping for it.
|
static java.lang.String |
getPackageName(java.lang.String fullyQualifiedClassName)
Extracts package name from class name.
|
protected void |
internalTransform(java.lang.String phaseName,
java.util.Map<java.lang.String,java.lang.String> options)
Performs the transformation on the Scene, under the given phaseName and with the given Options.
|
boolean |
isRemovePackages()
Checks if transformer must remove package from fully qualified class name.
|
boolean |
isRenamePackages()
Checks if transformer must rename package in fully qualified class name.
|
void |
outputSummary()
Prints summary of the produced changes.
|
void |
setRemovePackages(boolean removePackages)
Sets flag indicating that transformer must remove package from fully qualified class name.
|
void |
setRenamePackages(boolean renamePackages)
Sets flag indicating that transformer must rename package in fully qualified class name.
|
static ClassRenamer |
v()
Singleton getter.
|
transform, transform, transformclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitisDebugEnabled, isVerbosepublic static final java.lang.String name
public ClassRenamer(Singletons.Global global)
global - the singletons container. Must not be nulljava.lang.NullPointerException - when global argument is nullpublic static ClassRenamer v()
ClassRenamerpublic java.lang.String getName()
IJbcoTransformjbco transformer implementation.getName in interface IJbcoTransformjbco transformerpublic java.lang.String[] getDependencies()
IJbcoTransformjbco transformer code names on which current transformer depends on.getDependencies in interface IJbcoTransformpublic void outputSummary()
IJbcoTransformoutputSummary in interface IJbcoTransformpublic boolean isRemovePackages()
true if ClassRenamer removes packages from fully qualified class name;
false otherwisepublic void setRemovePackages(boolean removePackages)
removePackages - the flag valuepublic boolean isRenamePackages()
true if ClassRenamer renames packages in fully qualified class name;
false otherwisepublic void setRenamePackages(boolean renamePackages)
renamePackages - the flag valuepublic void addClassNameMapping(java.lang.String classNameSource,
java.lang.String classNameTarget)
classNameSource - the class name to renameclassNameTarget - the new class namepublic java.util.Map<java.lang.String,java.lang.String> getClassNameMapping(java.util.function.BiPredicate<java.lang.String,java.lang.String> predicate)
predicate - the predicate to decide if mapping should be filtered. Can be nullprotected void internalTransform(java.lang.String phaseName,
java.util.Map<java.lang.String,java.lang.String> options)
SceneTransformerinternalTransform in class SceneTransformerpublic java.lang.String getNewName(java.lang.String packageName,
java.lang.String className)
packageName - the package where class is located. Can be nullclassName - the class name (without package) to create mapping for. Can be nullpublic static java.lang.String getPackageName(java.lang.String fullyQualifiedClassName)
fullyQualifiedClassName - the fully qualified class name. Can be nullnull or no '.' in name