Class PLSQLrecord

  • All Implemented Interfaces:
    Cloneable, org.eclipse.persistence.internal.helper.DatabaseType, org.eclipse.persistence.internal.helper.SimpleDatabaseType, OraclePLSQLType

    public class PLSQLrecord
    extends org.eclipse.persistence.internal.helper.ComplexDatabaseType
    implements OraclePLSQLType, Cloneable
    PUBLIC: describe an Oracle PL/SQL Record type
    Author:
    Mike Norman - michael.norman@oracle.com
    Since:
    Oracle TopLink 11.x.x
    • Constructor Detail

      • PLSQLrecord

        public PLSQLrecord()
    • Method Detail

      • clone

        public PLSQLrecord clone()
        Overrides:
        clone in class org.eclipse.persistence.internal.helper.ComplexDatabaseType
      • isRecord

        public boolean isRecord()
        Overrides:
        isRecord in class org.eclipse.persistence.internal.helper.ComplexDatabaseType
      • getFields

        public List<PLSQLargument> getFields()
        Return the record's fields defined as PLSQLargument.
      • getSqlCode

        public int getSqlCode()
        Specified by:
        getSqlCode in interface org.eclipse.persistence.internal.helper.DatabaseType
      • addField

        public void addField​(String fieldName,
                             org.eclipse.persistence.internal.helper.DatabaseType databaseType)
      • addField

        public void addField​(String fieldName,
                             org.eclipse.persistence.internal.helper.DatabaseType databaseType,
                             int precision,
                             int scale)
      • addField

        public void addField​(String fieldName,
                             org.eclipse.persistence.internal.helper.DatabaseType databaseType,
                             int length)
      • computeInIndex

        public int computeInIndex​(PLSQLargument inArg,
                                  int newIndex,
                                  ListIterator<PLSQLargument> iterator)
        Specified by:
        computeInIndex in interface org.eclipse.persistence.internal.helper.DatabaseType
        Overrides:
        computeInIndex in class org.eclipse.persistence.internal.helper.ComplexDatabaseType
      • computeOutIndex

        public int computeOutIndex​(PLSQLargument outArg,
                                   int newIndex,
                                   ListIterator<PLSQLargument> iterator)
        Specified by:
        computeOutIndex in interface org.eclipse.persistence.internal.helper.DatabaseType
        Overrides:
        computeOutIndex in class org.eclipse.persistence.internal.helper.ComplexDatabaseType
      • buildInDeclare

        public void buildInDeclare​(StringBuilder sb,
                                   PLSQLargument inArg)
        Specified by:
        buildInDeclare in interface org.eclipse.persistence.internal.helper.DatabaseType
        Overrides:
        buildInDeclare in class org.eclipse.persistence.internal.helper.ComplexDatabaseType
      • buildOutDeclare

        public void buildOutDeclare​(StringBuilder sb,
                                    PLSQLargument outArg)
        Specified by:
        buildOutDeclare in interface org.eclipse.persistence.internal.helper.DatabaseType
        Overrides:
        buildOutDeclare in class org.eclipse.persistence.internal.helper.ComplexDatabaseType
      • buildBeginBlock

        public void buildBeginBlock​(StringBuilder sb,
                                    PLSQLargument arg,
                                    PLSQLStoredProcedureCall call)
        Specified by:
        buildBeginBlock in interface org.eclipse.persistence.internal.helper.DatabaseType
        Overrides:
        buildBeginBlock in class org.eclipse.persistence.internal.helper.ComplexDatabaseType
      • buildOutAssignment

        public void buildOutAssignment​(StringBuilder sb,
                                       PLSQLargument outArg,
                                       PLSQLStoredProcedureCall call)
        Specified by:
        buildOutAssignment in interface org.eclipse.persistence.internal.helper.DatabaseType
        Overrides:
        buildOutAssignment in class org.eclipse.persistence.internal.helper.ComplexDatabaseType
      • translate

        public void translate​(PLSQLargument arg,
                              org.eclipse.persistence.internal.sessions.AbstractRecord translationRow,
                              org.eclipse.persistence.internal.sessions.AbstractRecord copyOfTranslationRow,
                              List<org.eclipse.persistence.internal.helper.DatabaseField> copyOfTranslationFields,
                              List<org.eclipse.persistence.internal.helper.DatabaseField> translationRowFields,
                              List translationRowValues,
                              StoredProcedureCall call)
        Specified by:
        translate in interface org.eclipse.persistence.internal.helper.DatabaseType
        Overrides:
        translate in class org.eclipse.persistence.internal.helper.ComplexDatabaseType
      • buildOutputRow

        public void buildOutputRow​(PLSQLargument outArg,
                                   org.eclipse.persistence.internal.sessions.AbstractRecord outputRow,
                                   DatabaseRecord newOutputRow,
                                   List<org.eclipse.persistence.internal.helper.DatabaseField> outputRowFields,
                                   List outputRowValues)
        Specified by:
        buildOutputRow in interface org.eclipse.persistence.internal.helper.DatabaseType
        Overrides:
        buildOutputRow in class org.eclipse.persistence.internal.helper.ComplexDatabaseType
      • logParameter

        public void logParameter​(StringBuilder sb,
                                 org.eclipse.persistence.internal.databaseaccess.DatasourceCall.ParameterType direction,
                                 PLSQLargument arg,
                                 org.eclipse.persistence.internal.sessions.AbstractRecord translationRow,
                                 DatabasePlatform platform)
        Specified by:
        logParameter in interface org.eclipse.persistence.internal.helper.DatabaseType
        Overrides:
        logParameter in class org.eclipse.persistence.internal.helper.ComplexDatabaseType