edu.stanford.smi.protegex.owl.javacode
Class JavaCodeGenerator

java.lang.Object
  extended byedu.stanford.smi.protegex.owl.javacode.JavaCodeGenerator

public class JavaCodeGenerator
extends Object

A class that can create Java interfaces in the Protege-OWL format from an OWL model.

Author:
Holger Knublauch

Field Summary
private  JavaCodeGeneratorOptions options
           
private  OWLModel owlModel
           
private static Map primitiveTypesMap
           
 
Constructor Summary
JavaCodeGenerator(OWLModel owlModel, JavaCodeGeneratorOptions options)
           
 
Method Summary
 void createAll()
           
 void createFactoryClass()
           
 void createImplementation(RDFSNamedClass cls)
           
 void createInterface(RDFSNamedClass aClass)
           
 void createInterfacePropertyCode(PrintWriter printWriter, RDFPropertyAtClassCode propertyCode)
           
 void createUserImplementation(RDFSNamedClass cls)
           
private  void createUserInterface(RDFSNamedClass aClass)
           
 String getBaseImplementation(RDFSNamedClass aClass)
           
 String getBaseInterface(RDFSNamedClass cls)
           
private  String getImplementationExtendsCode(RDFSNamedClass aClass)
           
 File getImplementationFile(RDFSNamedClass aClass)
           
private  File getImplementationFile(String localName)
           
 String getImplementationName(RDFSNamedClass aClass)
           
 String getImplementationNamePossiblyAbstract(RDFSNamedClass aClass)
           
private  String getInterfaceExtendsCode(RDFSNamedClass aClass)
           
 File getInterfaceFile(RDFSNamedClass aClass)
           
private  File getInterfaceFile(String localName)
           
 String getInterfaceName(RDFSNamedClass aClass)
           
 String getInterfaceNamePossiblyAbstract(RDFSNamedClass aClass)
           
private  String getJavaTypeName(RDFPropertyAtClassCode propertyCode)
           
private  String getSystemJavaClass(RDFSClass superclass)
           
static String getValidJavaName(String name)
           
private  void perhapsAddImportJavaUtil(RDFSClassCode code, PrintWriter printWriter)
           
private  void printConstructors(PrintWriter printWriter, String implementationName)
           
private  void printFactoryClass(PrintWriter printWriter)
           
 void printImplementationCode(PrintWriter printWriter, RDFSNamedClass aClass)
           
 void printImplementationPropertyCode(PrintWriter printWriter, RDFPropertyAtClassCode propertyCode)
           
 void printInterfaceCode(PrintWriter printWriter, RDFSNamedClass aClass)
           
private  void printInterfacePackageStatement(PrintWriter printWriter)
           
 void printUserImplementationCode(PrintWriter printWriter, RDFSNamedClass cls)
           
 void printUserInterfaceCode(PrintWriter printWriter, RDFSNamedClass cls)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

owlModel

private OWLModel owlModel

options

private JavaCodeGeneratorOptions options

primitiveTypesMap

private static Map primitiveTypesMap
Constructor Detail

JavaCodeGenerator

public JavaCodeGenerator(OWLModel owlModel,
                         JavaCodeGeneratorOptions options)
Method Detail

createAll

public void createAll()
               throws IOException
Throws:
IOException

createFactoryClass

public void createFactoryClass()
                        throws IOException
Throws:
IOException

printFactoryClass

private void printFactoryClass(PrintWriter printWriter)

createImplementation

public void createImplementation(RDFSNamedClass cls)
                          throws IOException
Throws:
IOException

createUserImplementation

public void createUserImplementation(RDFSNamedClass cls)
                              throws IOException
Throws:
IOException

printImplementationCode

public void printImplementationCode(PrintWriter printWriter,
                                    RDFSNamedClass aClass)

printUserImplementationCode

public void printUserImplementationCode(PrintWriter printWriter,
                                        RDFSNamedClass cls)

printConstructors

private void printConstructors(PrintWriter printWriter,
                               String implementationName)

getImplementationExtendsCode

private String getImplementationExtendsCode(RDFSNamedClass aClass)

createInterface

public void createInterface(RDFSNamedClass aClass)
                     throws IOException
Throws:
IOException

createUserInterface

private void createUserInterface(RDFSNamedClass aClass)
                          throws IOException
Throws:
IOException

printInterfaceCode

public void printInterfaceCode(PrintWriter printWriter,
                               RDFSNamedClass aClass)

printInterfacePackageStatement

private void printInterfacePackageStatement(PrintWriter printWriter)

printUserInterfaceCode

public void printUserInterfaceCode(PrintWriter printWriter,
                                   RDFSNamedClass cls)

getInterfaceExtendsCode

private String getInterfaceExtendsCode(RDFSNamedClass aClass)

printImplementationPropertyCode

public void printImplementationPropertyCode(PrintWriter printWriter,
                                            RDFPropertyAtClassCode propertyCode)

createInterfacePropertyCode

public void createInterfacePropertyCode(PrintWriter printWriter,
                                        RDFPropertyAtClassCode propertyCode)

getJavaTypeName

private String getJavaTypeName(RDFPropertyAtClassCode propertyCode)

getBaseImplementation

public String getBaseImplementation(RDFSNamedClass aClass)

getBaseInterface

public String getBaseInterface(RDFSNamedClass cls)

getImplementationFile

public File getImplementationFile(RDFSNamedClass aClass)

getImplementationFile

private File getImplementationFile(String localName)

getImplementationName

public String getImplementationName(RDFSNamedClass aClass)

getImplementationNamePossiblyAbstract

public String getImplementationNamePossiblyAbstract(RDFSNamedClass aClass)

getInterfaceFile

public File getInterfaceFile(RDFSNamedClass aClass)

getInterfaceFile

private File getInterfaceFile(String localName)

getInterfaceNamePossiblyAbstract

public String getInterfaceNamePossiblyAbstract(RDFSNamedClass aClass)

getInterfaceName

public String getInterfaceName(RDFSNamedClass aClass)

getSystemJavaClass

private String getSystemJavaClass(RDFSClass superclass)

getValidJavaName

public static String getValidJavaName(String name)

perhapsAddImportJavaUtil

private void perhapsAddImportJavaUtil(RDFSClassCode code,
                                      PrintWriter printWriter)