EclipseLink 2.0.0, build 'v20091127-r5931' API Reference

org.eclipse.persistence.tools
Class PackageRenamer

java.lang.Object
  extended by org.eclipse.persistence.tools.PackageRenamer

public class PackageRenamer
extends java.lang.Object

This class performs package renaming. It demonstrates the following: a) Reading the properties file to be a reference for changing the package name from your source code. b) Traverse source root directory for creating a corresponding output directory and finding the java source file(s) to be changing the package name. c) Search and replace the old TopLink package name(s) with new one(s) according to the reference. You will be able to see the logging message at the command line window where the PackageRenamer is running.


Nested Class Summary
 class PackageRenamer.PackageRenamerException
           
 
Field Summary
protected static java.lang.String SYSTEM_OUT
           
 
Constructor Summary
PackageRenamer()
          The constructor of a PackageRenamer class.
PackageRenamer(java.lang.String propertiesFileName)
           
PackageRenamer(java.lang.String[] args)
           
 
Method Summary
protected  java.lang.String bannerText()
           
 void binaryCopy(java.io.File inFile, java.io.File outFile)
          Do a binary copy of the file byte buffer by byte buffer.
protected  boolean bufferContainsNullChar(byte[] buffer, int bufferLength)
           
 java.io.File buildAndCheckDestinationFile(java.lang.String aDirString)
          INTERNAL
 java.io.File buildAndCheckExistingDirFile(java.lang.String aDirString)
           
 java.io.PrintWriter buildAndCheckLogWriter(java.lang.String logFileString)
           
protected  void cleanup()
           
 void createDestinationDirectory(java.io.File aDirectory)
          This method creates an output directory for post-rename file(s).
static boolean directoryIsSubdirectory(java.io.File directory1, java.io.File directory2)
          Return true if directory2 is contained within directory1.
 java.io.File existingDirectoryFromPrompt()
           
static java.lang.String getDefaultPropertiesFileName()
           
 java.io.BufferedReader getReader()
           
 boolean isExtensionSupported(java.lang.String extension)
          Return true if the PackageRenamer should work on the given file extension.
 void logln(java.lang.String str)
           
static void main(java.lang.String[] args)
          Main method to run the PackageRenamer
 java.lang.String parseFileExtension(java.io.File aFile)
          Returns the extension of the given file.
protected  java.io.File promptForDestinationDirectory()
          INTERNAL Prompt from System.in for an empty or non-existent directory to use as the destination directory.
 java.util.Properties readChangesFile(java.lang.String filename)
          This readChangesFile() method reads the given properties file to be a reference for renaming TopLink package name.
static java.lang.String replace(java.lang.String str, java.lang.String oldChars, java.lang.String newChars)
          Do a search and replace in a string.
 java.lang.String returnNewFileNameIfRequired(java.lang.String aSourceFileNameWithoutRoot)
           
 void run()
          This run() method performs, reading the properties file into properties variable to be a reference for changing package name.
 void runSearchAndReplacePackageName(java.io.File sourceFile)
          This runSearchAndReplacePackageName() reads an pre-rename source file all into string variable and replacing the old package names with the new ones according to the properties file.
protected  java.io.PrintWriter streamForNonExistentFilePrompt()
           
 void traverseSourceDirectory(java.io.File aDirectoryString)
          This traverseSourceDirectory() traverse source-root-directory, creating an corresponding output directory, and calling another method for replacing old TopLink package name.
static void usage()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SYSTEM_OUT

protected static final java.lang.String SYSTEM_OUT
See Also:
Constant Field Values
Constructor Detail

PackageRenamer

public PackageRenamer()
The constructor of a PackageRenamer class.


PackageRenamer

public PackageRenamer(java.lang.String propertiesFileName)

PackageRenamer

public PackageRenamer(java.lang.String[] args)
Method Detail

bannerText

protected java.lang.String bannerText()

binaryCopy

public void binaryCopy(java.io.File inFile,
                       java.io.File outFile)
                throws java.io.FileNotFoundException,
                       java.io.IOException
Do a binary copy of the file byte buffer by byte buffer.

Throws:
java.io.FileNotFoundException
java.io.IOException

bufferContainsNullChar

protected boolean bufferContainsNullChar(byte[] buffer,
                                         int bufferLength)

buildAndCheckDestinationFile

public java.io.File buildAndCheckDestinationFile(java.lang.String aDirString)
INTERNAL


buildAndCheckExistingDirFile

public java.io.File buildAndCheckExistingDirFile(java.lang.String aDirString)

buildAndCheckLogWriter

public java.io.PrintWriter buildAndCheckLogWriter(java.lang.String logFileString)

cleanup

protected void cleanup()

createDestinationDirectory

public void createDestinationDirectory(java.io.File aDirectory)
This method creates an output directory for post-rename file(s).


directoryIsSubdirectory

public static boolean directoryIsSubdirectory(java.io.File directory1,
                                              java.io.File directory2)
Return true if directory2 is contained within directory1. Both directories must be absolute.


existingDirectoryFromPrompt

public java.io.File existingDirectoryFromPrompt()

getDefaultPropertiesFileName

public static java.lang.String getDefaultPropertiesFileName()

getReader

public java.io.BufferedReader getReader()

isExtensionSupported

public boolean isExtensionSupported(java.lang.String extension)
Return true if the PackageRenamer should work on the given file extension.


logln

public void logln(java.lang.String str)

main

public static void main(java.lang.String[] args)
Main method to run the PackageRenamer


parseFileExtension

public java.lang.String parseFileExtension(java.io.File aFile)
Returns the extension of the given file. Returns and empty string if none was found.


promptForDestinationDirectory

protected java.io.File promptForDestinationDirectory()
INTERNAL Prompt from System.in for an empty or non-existent directory to use as the destination directory.


readChangesFile

public java.util.Properties readChangesFile(java.lang.String filename)
This readChangesFile() method reads the given properties file to be a reference for renaming TopLink package name.


run

public void run()
This run() method performs, reading the properties file into properties variable to be a reference for changing package name. creating an destination-root-direetory. and, calling traverseSourceDirectory() method.


streamForNonExistentFilePrompt

protected java.io.PrintWriter streamForNonExistentFilePrompt()

runSearchAndReplacePackageName

public void runSearchAndReplacePackageName(java.io.File sourceFile)
This runSearchAndReplacePackageName() reads an pre-rename source file all into string variable and replacing the old package names with the new ones according to the properties file.


replace

public static java.lang.String replace(java.lang.String str,
                                       java.lang.String oldChars,
                                       java.lang.String newChars)
Do a search and replace in a string.

Returns:
the modified String

returnNewFileNameIfRequired

public java.lang.String returnNewFileNameIfRequired(java.lang.String aSourceFileNameWithoutRoot)

traverseSourceDirectory

public void traverseSourceDirectory(java.io.File aDirectoryString)
This traverseSourceDirectory() traverse source-root-directory, creating an corresponding output directory, and calling another method for replacing old TopLink package name.


usage

public static void usage()

EclipseLink 2.0.0, build 'v20091127-r5931' API Reference