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, transform
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
isDebugEnabled, isVerbose
public static final java.lang.String name
public ClassRenamer(Singletons.Global global)
global
- the singletons container. Must not be null
java.lang.NullPointerException
- when global
argument is null
public static ClassRenamer v()
ClassRenamer
public java.lang.String getName()
IJbcoTransform
jbco transformer
implementation.getName
in interface IJbcoTransform
jbco transformer
public java.lang.String[] getDependencies()
IJbcoTransform
jbco transformer
code names on which current transformer depends on.getDependencies
in interface IJbcoTransform
public void outputSummary()
IJbcoTransform
outputSummary
in interface IJbcoTransform
public 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 null
protected void internalTransform(java.lang.String phaseName, java.util.Map<java.lang.String,java.lang.String> options)
SceneTransformer
internalTransform
in class SceneTransformer
public java.lang.String getNewName(java.lang.String packageName, java.lang.String className)
packageName
- the package where class is located. Can be null
className
- the class name (without package) to create mapping for. Can be null
public static java.lang.String getPackageName(java.lang.String fullyQualifiedClassName)
fullyQualifiedClassName
- the fully qualified class name. Can be null
null
or no '.' in name