Class PLSQLrecord

  • All Implemented Interfaces:
    java.lang.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, java.lang.Cloneable
    PUBLIC: describe an Oracle PL/SQL Record type
    Author:
    Mike Norman - michael.norman@oracle.com
    Since:
    Oracle TopLink 11.x.x
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.eclipse.persistence.internal.helper.DatabaseType

        org.eclipse.persistence.internal.helper.DatabaseType.DatabaseTypeHelper
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.List<PLSQLargument> fields  
      • Fields inherited from class org.eclipse.persistence.internal.helper.ComplexDatabaseType

        compatibleType, javaType, javaTypeName, typeName
      • Fields inherited from interface org.eclipse.persistence.internal.helper.DatabaseType

        ARGNAME_SIZE_LIMIT, COMPAT_SHORT_PREFIX, COMPAT_SUFFIX, TARGET_SHORT_PREFIX, TARGET_SUFFIX
    • Constructor Summary

      Constructors 
      Constructor Description
      PLSQLrecord()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addField​(java.lang.String fieldName, org.eclipse.persistence.internal.helper.DatabaseType databaseType)  
      void addField​(java.lang.String fieldName, org.eclipse.persistence.internal.helper.DatabaseType databaseType, int length)  
      void addField​(java.lang.String fieldName, org.eclipse.persistence.internal.helper.DatabaseType databaseType, int precision, int scale)  
      void addField​(PLSQLargument field)  
      void buildBeginBlock​(java.lang.StringBuilder sb, PLSQLargument arg, PLSQLStoredProcedureCall call)  
      void buildInDeclare​(java.lang.StringBuilder sb, PLSQLargument inArg)  
      void buildOutAssignment​(java.lang.StringBuilder sb, PLSQLargument outArg, PLSQLStoredProcedureCall call)  
      void buildOutDeclare​(java.lang.StringBuilder sb, PLSQLargument outArg)  
      void buildOutputRow​(PLSQLargument outArg, org.eclipse.persistence.internal.sessions.AbstractRecord outputRow, DatabaseRecord newOutputRow, java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> outputRowFields, java.util.List outputRowValues)  
      PLSQLrecord clone()  
      int computeInIndex​(PLSQLargument inArg, int newIndex, java.util.ListIterator<PLSQLargument> iterator)  
      int computeOutIndex​(PLSQLargument outArg, int newIndex, java.util.ListIterator<PLSQLargument> iterator)  
      java.util.List<PLSQLargument> getFields()
      Return the record's fields defined as PLSQLargument.
      int getSqlCode()  
      boolean isRecord()  
      void logParameter​(java.lang.StringBuilder sb, org.eclipse.persistence.internal.databaseaccess.DatasourceCall.ParameterType direction, PLSQLargument arg, org.eclipse.persistence.internal.sessions.AbstractRecord translationRow, DatabasePlatform platform)  
      void translate​(PLSQLargument arg, org.eclipse.persistence.internal.sessions.AbstractRecord translationRow, org.eclipse.persistence.internal.sessions.AbstractRecord copyOfTranslationRow, java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> copyOfTranslationFields, java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> translationRowFields, java.util.List translationRowValues, StoredProcedureCall call)  
      • Methods inherited from class org.eclipse.persistence.internal.helper.ComplexDatabaseType

        getCompatibleType, getConversionCode, getJavaType, getJavaTypeName, getTypeName, hasCompatibleType, isArray, isCollection, isComplexDatabaseType, isCursor, isJDBCType, isStruct, logParameter, setCompatibleType, setJavaType, setJavaTypeName, setTypeName, toString
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.eclipse.persistence.internal.helper.DatabaseType

        getConversionCode, getTypeName, isComplexDatabaseType, isJDBCType, logParameter
    • 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 java.util.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​(java.lang.String fieldName,
                             org.eclipse.persistence.internal.helper.DatabaseType databaseType)
      • addField

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

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

        public int computeInIndex​(PLSQLargument inArg,
                                  int newIndex,
                                  java.util.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,
                                   java.util.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​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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,
                              java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> copyOfTranslationFields,
                              java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> translationRowFields,
                              java.util.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,
                                   java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> outputRowFields,
                                   java.util.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​(java.lang.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