mockmaker
Class MockMaker

java.lang.Object
  extended bymockmaker.MockMaker
Direct Known Subclasses:
MockMockMaker

public class MockMaker
extends java.lang.Object

COPYRIGHT AND PERMISSION NOTICE Copyright (c) 2000, 2001, 2002 All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, provided that the above copyright notice(s) and this permission notice appear in all copies of the Software and that both the above copyright notice(s) and this permission notice appear in supporting documentation. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder.


Field Summary
private  ClassStructure iface
           
private  boolean includePackage
           
private  java.util.Vector instanceVariables
           
private  java.lang.String interfaceToMakeMockFor
           
private  java.lang.ClassLoader loader
           
private  Configuration myConfiguration
           
private  CodeWriter output
           
private static java.util.Hashtable PRIMITIVE_TYPES
           
static java.lang.String VERSION
           
 
Constructor Summary
MockMaker(ClassStructure iface, CodeWriter output, Configuration aConfiguration)
          Build from source code.
MockMaker(java.lang.String interfaceToMakeMockFor, CodeWriter output, Configuration aConfiguration)
          Standard Constructor.
MockMaker(java.lang.String interfaceToMakeMockFor, CodeWriter output, Configuration aConfiguration, java.lang.ClassLoader classLoader)
          Use an optional ClassLoader
 
Method Summary
private  void addClassForImport(java.util.Vector list, ClassStructure classToAdd)
           
private  java.lang.String addExpectedValuesString(java.lang.String methodName)
           
private  java.lang.String capitalized(java.lang.String aString)
           
(package private)  java.lang.String capitalizedName(MethodStructure method)
           
(package private)  java.lang.String[] exceptionsFor(MethodStructure method)
           
 java.lang.ClassLoader getClassLoader()
          Return our ClassLoader.
(package private)  java.lang.String getLastPartOfName(ClassStructure aClass)
           
private  java.lang.String getLastPartOfName(ClassStructure aClass, java.lang.String arrayString)
           
(package private)  java.lang.String getLastPartOfName(java.lang.String fullyQualifiedName)
           
private  MethodStructure[] getMethods()
           
private  java.lang.String getMethodSignature(MethodStructure method)
           
 java.lang.ClassLoader getValidLoader()
          Return a valid (non-null) ClassLoader.
private  boolean isOverloaded(java.lang.String name)
           
static void main(java.lang.String[] args)
           
 void make()
          Make the MockObject.
private  java.lang.String nameOfMockClass()
           
private  java.lang.String packageNameString()
           
private  java.lang.String parameterTypeNames(MethodStructure method)
           
(package private)  java.lang.String[] paramsFor(MethodStructure method)
           
private  java.lang.String[] paramsTypeNamesFor(MethodStructure method)
           
(package private) static void printUsage()
           
private  java.lang.String setActualReturnExceptionString(java.lang.String methodName)
           
private  java.lang.String setActualReturnValueString(java.lang.String methodName)
           
 void setClassLoader(java.lang.ClassLoader classLoader)
          Set our ClassLoader.
private  java.lang.String setExpectedCallsString(java.lang.String methodName)
           
 void setIncludePackage(boolean b)
           
private  java.lang.String toCommaSeparatedList(java.lang.String[] strings)
           
private  java.lang.String wrappedArg(ClassStructure paramType, java.lang.String argName)
           
(package private)  void writeCallsIV(MethodStructure method)
           
private  void writeClassDeclaration()
           
private  void writeConstructors()
           
(package private)  void writeImplementingMethod(MethodStructure method)
           
(package private)  void writeImportsFromMethods()
           
(package private)  void writeIVs(MethodStructure method)
           
(package private)  void writeMethods(MethodStructure method)
           
(package private)  void writeMock()
           
(package private)  void writeParameterValueIVs(MethodStructure method)
           
(package private)  void writeReturnValueIV(MethodStructure method)
           
(package private)  void writeSetActualMethod(MethodStructure method)
           
(package private)  void writeSetExpectedCallsMethod(MethodStructure method)
           
(package private)  void writeSetExpectedValuesMethod(MethodStructure method)
           
(package private)  void writeVerify()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VERSION

public static final java.lang.String VERSION
See Also:
Constant Field Values

loader

private java.lang.ClassLoader loader

interfaceToMakeMockFor

private java.lang.String interfaceToMakeMockFor

output

private CodeWriter output

iface

private ClassStructure iface

instanceVariables

private java.util.Vector instanceVariables

includePackage

private boolean includePackage

myConfiguration

private Configuration myConfiguration

PRIMITIVE_TYPES

private static final java.util.Hashtable PRIMITIVE_TYPES
Constructor Detail

MockMaker

public MockMaker(java.lang.String interfaceToMakeMockFor,
                 CodeWriter output,
                 Configuration aConfiguration)
Standard Constructor.


MockMaker

public MockMaker(java.lang.String interfaceToMakeMockFor,
                 CodeWriter output,
                 Configuration aConfiguration,
                 java.lang.ClassLoader classLoader)
Use an optional ClassLoader


MockMaker

public MockMaker(ClassStructure iface,
                 CodeWriter output,
                 Configuration aConfiguration)
Build from source code.

Method Detail

make

public void make()
          throws java.lang.ClassNotFoundException
Make the MockObject.

Throws:
java.lang.ClassNotFoundException

setClassLoader

public void setClassLoader(java.lang.ClassLoader classLoader)
Set our ClassLoader.


getClassLoader

public java.lang.ClassLoader getClassLoader()
Return our ClassLoader.


getValidLoader

public java.lang.ClassLoader getValidLoader()
Return a valid (non-null) ClassLoader. This substitutes ClassLoader.getSystemClassLoader() for a null ClassLoader.

Returns:
ClassLoader

capitalizedName

java.lang.String capitalizedName(MethodStructure method)

getLastPartOfName

java.lang.String getLastPartOfName(ClassStructure aClass)

getLastPartOfName

java.lang.String getLastPartOfName(java.lang.String fullyQualifiedName)

main

public static void main(java.lang.String[] args)
                 throws java.lang.ClassNotFoundException,
                        java.io.FileNotFoundException
Throws:
java.lang.ClassNotFoundException
java.io.FileNotFoundException

printUsage

static void printUsage()

paramsFor

java.lang.String[] paramsFor(MethodStructure method)

getMethodSignature

private java.lang.String getMethodSignature(MethodStructure method)

writeCallsIV

void writeCallsIV(MethodStructure method)

writeImplementingMethod

void writeImplementingMethod(MethodStructure method)

writeIVs

void writeIVs(MethodStructure method)

writeMethods

void writeMethods(MethodStructure method)

writeMock

void writeMock()

writeImportsFromMethods

void writeImportsFromMethods()

addClassForImport

private void addClassForImport(java.util.Vector list,
                               ClassStructure classToAdd)

writeParameterValueIVs

void writeParameterValueIVs(MethodStructure method)

writeReturnValueIV

void writeReturnValueIV(MethodStructure method)

writeSetActualMethod

void writeSetActualMethod(MethodStructure method)

writeSetExpectedCallsMethod

void writeSetExpectedCallsMethod(MethodStructure method)

writeSetExpectedValuesMethod

void writeSetExpectedValuesMethod(MethodStructure method)

writeVerify

void writeVerify()

addExpectedValuesString

private java.lang.String addExpectedValuesString(java.lang.String methodName)

capitalized

private java.lang.String capitalized(java.lang.String aString)

exceptionsFor

java.lang.String[] exceptionsFor(MethodStructure method)

getLastPartOfName

private java.lang.String getLastPartOfName(ClassStructure aClass,
                                           java.lang.String arrayString)

isOverloaded

private boolean isOverloaded(java.lang.String name)

parameterTypeNames

private java.lang.String parameterTypeNames(MethodStructure method)

setActualReturnValueString

private java.lang.String setActualReturnValueString(java.lang.String methodName)

setActualReturnExceptionString

private java.lang.String setActualReturnExceptionString(java.lang.String methodName)

setExpectedCallsString

private java.lang.String setExpectedCallsString(java.lang.String methodName)

packageNameString

private java.lang.String packageNameString()

wrappedArg

private java.lang.String wrappedArg(ClassStructure paramType,
                                    java.lang.String argName)

getMethods

private MethodStructure[] getMethods()

nameOfMockClass

private java.lang.String nameOfMockClass()

paramsTypeNamesFor

private java.lang.String[] paramsTypeNamesFor(MethodStructure method)

writeClassDeclaration

private void writeClassDeclaration()

writeConstructors

private void writeConstructors()

setIncludePackage

public void setIncludePackage(boolean b)

toCommaSeparatedList

private java.lang.String toCommaSeparatedList(java.lang.String[] strings)