Class StoredProcedureGenerator


  • public class StoredProcedureGenerator
    extends Object
    Purpose: To generate StoredProcedures from EclipseLink Projects

    Description: This Class was designed to read in a project and produce StoredProcedures. It then modifies the descriptors files of the project to use these StoredProcedures. NOTE: reads are not supported in Oracle.

    Responsibilities:

    Since:
    TopLink 2.1
    Author:
    Gordon Yorke
    • Constructor Detail

      • StoredProcedureGenerator

        public StoredProcedureGenerator​(SchemaManager schemaMngr)
    • Method Detail

      • buildIntToTypeConverterHash

        protected void buildIntToTypeConverterHash()
        INTERNAL: Build all conversions based on JDBC return values.
      • buildProcedureString

        protected String buildProcedureString​(SQLCall call)
        INTERNAL: Given a call, this method produces the stored procedure string based on the SQL string inside the call.
      • generateAmendmentClass

        public void generateAmendmentClass​(Writer outputWriter,
                                           String packageName,
                                           String className)
                                    throws ValidationException
        PUBLIC: Generate an amendment class that will set up the descriptors to use these stored procedures.
        Throws:
        ValidationException
      • generateMappingStoredProcedures

        protected Hashtable generateMappingStoredProcedures​(ClassDescriptor descriptor)
        INTERNAL: Generates the mapping stored procedures for this descriptor. currently only 1:1 and 1:M are supported
      • generateObjectStoredProcedure

        protected StoredProcedureDefinition generateObjectStoredProcedure​(DatabaseQuery query,
                                                                          List fields,
                                                                          String namePrefix)
        INTERNAL: Generates the object level stored procedure based on the passed in query
      • generateOneToManyMappingDeleteAllProcedure

        protected StoredProcedureDefinition generateOneToManyMappingDeleteAllProcedure​(OneToManyMapping mapping)
        INTERNAL: Generates the delete all stored procedure for this mapping
      • generateOneToManyMappingReadProcedure

        protected StoredProcedureDefinition generateOneToManyMappingReadProcedure​(OneToManyMapping mapping)
        INTERNAL: Generates the read all stored procedure for this mapping
      • generateReadAllStoredProcedure

        protected StoredProcedureDefinition generateReadAllStoredProcedure​(ClassDescriptor descriptor)
        INTERNAL: Generates the read all stored procedure for this descriptor
      • generateSequenceStoredProcedures

        protected void generateSequenceStoredProcedures​(Project project)
        INTERNAL: Generates the select and update stored procedures for this project. no procedures are generated for native sequencing. Note: reads are not supported in Oracle.
      • generateStoredProcedures

        public void generateStoredProcedures()
        PUBLIC: generates all the stored procedures using the schema manager. The schema manager may be set to write directly to the database on the a file. See outputDDLToWriter(Writer) and outputDDLToDatabase() on SchemaManager
      • generateStoredProcedures

        public void generateStoredProcedures​(Writer writerOrNull)
        PUBLIC: generates all the stored procedures to the writer using the schema manager outputDDLToWriter(Writer).
      • getFieldName

        protected String getFieldName​(String argumentName)
        INTERNAL: return the original field name based on the argument name.
      • getFieldType

        protected Class getFieldType​(Object jdbcDataType)
        INTERNAL: return the class corresponding to the passed in JDBC type.
      • getPrefix

        public String getPrefix()
      • getWriter

        public Writer getWriter()
      • setPrefix

        public void setPrefix​(String prefix)