Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle TopLink
11g Release 1 (11.1.1)

E28847-01


org.eclipse.persistence.platform.database.oracle.publisher.sqlrefl
Class SqlReflector

java.lang.Object
  extended by org.eclipse.persistence.platform.database.oracle.publisher.sqlrefl.SqlReflector


public class SqlReflector
extends java.lang.Object

Field Summary
static SqlType BFILE_TYPE
           
static SqlType BINARY_DOUBLE_TYPE
           
static SqlType BINARY_FLOAT_TYPE
           
static SqlType BINARY_INTEGER_TYPE
           
static SqlType BLOB_TYPE
           
static java.lang.String CHAR_CS
           
static SqlType CHAR_TYPE
           
static SqlType CLOB_TYPE
           
static SqlType DATE_TYPE
           
static SqlType DECIMAL_TYPE
           
static SqlType DOUBLE_PRECISION_TYPE
           
static SqlType FLOAT_TYPE
           
static SqlType FLOAT38TYPE
           
static SqlType INT_TYPE
           
static SqlType INTEGER_TYPE
           
static SqlType LONG_RAW_TYPE
           
static SqlType LONG_TYPE
           
protected  java.util.Map<java.lang.String,java.lang.String> m_allDefaultArgsHolderTypeNames
           
protected  java.util.HashSet<java.lang.String> m_allGeneratedTypeNames
           
protected  int m_allGeneratedTypeNamesMagicNumber
           
protected  java.util.HashSet<java.lang.String> m_allTypeNames
           
protected  java.util.Map<Name,TypeClass> m_allTypes
           
protected  java.sql.Connection m_conn
           
protected  boolean m_geq9i
           
protected  boolean m_getTypeCodeWarning
           
protected  java.lang.Boolean m_isPre920
           
protected  java.util.HashSet<java.lang.String> m_isReused
           
protected  java.util.Map<Name,TypeClass> m_predefTypes
           
protected  int m_rowtypeDistinguisher
           
protected  SqlStmtType m_sqlStmtType
           
protected  boolean m_transitive
           
protected  java.util.Map<java.lang.String,SqlType> m_typeMap
           
protected  java.lang.String m_user
           
protected  java.util.List<TypeClass> m_userTypes
           
protected  ViewCache m_viewCache
           
protected  ViewCacheManager m_viewCacheManager
           
protected  WrapperPackageMetadata m_wrapperPackageMetadata
           
private static int MAGIC_NUMBER
           
static java.lang.String NCHAR_CS
           
static SqlType NCHAR_TYPE
           
static SqlType NCLOB_TYPE
           
static SqlType NUMBER_TYPE
           
static SqlType NUMERIC_TYPE
           
static SqlType NVARCHAR2_TYPE
           
static SqlType PLS_INTEGER_TYPE
           
static SqlType PLSQL_REF_CURSOR_TYPE
           
static SqlType plsqlTableDouble
           
static SqlType plsqlTableFloat
           
static SqlType plsqlTableInt
           
static SqlType plsqlTableJldouble
           
static SqlType plsqlTableJlfloat
           
static SqlType plsqlTableJlinteger
           
static SqlType plsqlTableJlshort
           
static SqlType plsqlTableJmbigdecimal
           
static SqlType plsqlTableShort
           
static SqlType plsqlTableString
           
static SqlType RAW_TYPE
           
static SqlType REAL_TYPE
           
static SqlType REF_CURSOR_TYPE
           
static SqlType ROWID_TYPE
           
static java.lang.String ROWTYPE
           
static java.lang.String ROWTYPE_PL
           
static java.lang.String ROWTYPE_SQL
           
static SqlType SMALLINT_TYPE
           
static SqlType STRING_TYPE
           
static SqlType TIMESTAMP_TYPE
           
static SqlType TIMESTAMP_WLTZ_TYPE
           
static SqlType TIMESTAMP_WTZ_TYPE
           
static SqlType TIMESTAMPLTZ_TYPE
           
static SqlType TIMESTAMPLTZ_TYPE0
           
static SqlType TIMESTAMPTZ_TYPE
           
static SqlType TIMESTAMPTZ_TYPE0
           
static SqlType UNKNOWN_TYPE
           
static SqlType UROWID_TYPE
           
static SqlType VARCHAR_TYPE
           
static SqlType VARCHAR2_TYPE
           

 

Constructor Summary
SqlReflector(java.sql.Connection conn, java.lang.String user)
           

 

Method Summary
private  SqlType _findType(java.util.Map<Name,TypeClass> ht, SqlName sqlName)
           
(package private)  void addAllGeneratedTypeNames(java.lang.String name)
           
 void addAllPackages(java.lang.String schema)
           
 void addAllTypes(java.lang.String schema)
          Add all types declared in the given schema to the set of types to be translated.
 SqlType addDefaultArgsHolderType(SqlType valueType, java.lang.String packageName, SqlType parentType, boolean ncharFormOfUse)
           
 JavaType addJavaType(java.lang.String typeName, java.util.List<AttributeField> fields, java.util.List<ProcedureMethod> methods, boolean genPattern, TypeClass sqlType)
           
 SqlType addPlsqlDBType(java.lang.String schema, java.lang.String type, java.lang.String subtype, java.lang.String modifier, boolean ncharFormOfUse, java.lang.String packageName, java.lang.String methodName, java.lang.String methodNo, int sequence, SqlType parentType)
           
 SqlType addPlsqlDBType(java.lang.String schema, java.lang.String type, java.lang.String subtype, java.lang.String modifier, boolean ncharFormOfUse, java.lang.String packageName, java.lang.String methodName, java.lang.String methodNo, int sequence, SqlType parentType, boolean isGrandparent)
           
 SqlType addPredefType(SqlName name, int typecode)
           
 SqlType addPredefType(java.lang.String schema, java.lang.String type, int typecode, java.lang.String javaName, java.lang.String convertInto, java.lang.String convertOutOf, java.lang.String conversionTarget)
           
private  SqlType addSqlDBType(SqlName sqlName, java.lang.String modifier, boolean ncharFormOfUse, SqlType parentType)
           
 SqlType addSqlDBType(java.lang.String schema, java.lang.String type, java.lang.String subtype, java.lang.String modifier, boolean ncharFormOfUse, SqlType parentType)
           
 SqlType addSqlType(SqlName sqlName, int whatIsIt, boolean mustBeNew, boolean generateMe, SqlType parentType, java.lang.String modifier)
           
 SqlType addSqlType(SqlName sqlName, int whatIsIt, boolean mustBeNew, boolean generateMe, SqlType parentType, java.lang.String modifier, boolean ncharFormOfUse, MethodFilter signatureFilter)
           
 SqlType addSqlUserType(java.lang.String schema, java.lang.String type, int whatIsIt, boolean mustBeNew, int line, int col, MethodFilter signatureFilter)
           
 void addType(Name name, TypeClass type, boolean generateMe)
           
 void addWrapperMethodMetadata(java.lang.String name, java.lang.String[] paramTypes, java.lang.String[] paramNames, java.lang.String returnType)
           
 void close()
           
 void createSqlStmtType(SqlName sqlName)
           
 java.lang.String determineSqlName(java.lang.String name, boolean toBeDistinguished)
           
private  java.lang.String determineSqlName(java.lang.String name, boolean toBeDistinguished, java.util.List<AttributeField> fields, SqlType elemType, SqlType valueType)
           
 java.lang.String determineSqlName(java.lang.String packageName, java.lang.String[] sourceName, TypeClass parentType, boolean[] isRowType, java.util.List<AttributeField> fields, SqlType elemType, SqlType valueType)
           
private  SqlType findPredefType(SqlName sqlName)
           
private  SqlType findPredefType(java.lang.String schema, java.lang.String type)
           
private  SqlType findType(SqlName sqlName)
           
 SqlType findType(java.lang.String name)
           
private  SqlType findType(java.lang.String schema, java.lang.String type)
           
private  LangName genPattern(LangName langName, java.lang.String simpleName, boolean sql2Java)
          Used for implicitly publishing SQL types Based on the -genPattern setting, sets the LangName associated with this SqlName.
 boolean geqOracle9()
           
static boolean geqOracle9(java.sql.Connection conn)
           
 java.sql.Connection getConnection()
           
 java.util.Map<java.lang.String,SqlType> getTypeMap()
           
 java.util.Iterator<TypeClass> getUserTypes()
          Returns all the user-defined SqlTypes.
 ViewCache getViewCache()
           
 void getViewCache(ViewCache vc)
           
 WrapperPackageMetadata getWrapperPackageMetadata()
           
 boolean hasMethodsInSubclasses(TypeClass who)
          Search among userTypes, and return a boolean indicating whether a subclass of the receiver type has methods
static boolean isNull(java.lang.String col)
           
 boolean isPre920()
           
 boolean isReused(java.lang.String name)
           
 boolean isUserType(TypeClass t)
           
 void loadAllTypeNames()
           
 boolean noUserTypes()
           
(package private)  java.util.List<RowtypeInfo> reflectRowtypeInfo(java.lang.String packageName, java.lang.String methodName, java.lang.String methodNo, int sequence)
           
 void reset(java.sql.Connection conn)
           
 void setTransitive(boolean transitive)
           
 void setViewCachePoolCapacity(int size)
           
private  void sqlTypeInit()
           

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Field Detail

CHAR_CS

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

NCHAR_CS

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

ROWTYPE

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

ROWTYPE_PL

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

ROWTYPE_SQL

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

MAGIC_NUMBER

private static final int MAGIC_NUMBER
See Also:
Constant Field Values

BFILE_TYPE

public static final SqlType BFILE_TYPE

BINARY_INTEGER_TYPE

public static final SqlType BINARY_INTEGER_TYPE

BLOB_TYPE

public static final SqlType BLOB_TYPE

CHAR_TYPE

public static final SqlType CHAR_TYPE

CLOB_TYPE

public static final SqlType CLOB_TYPE

DATE_TYPE

public static final SqlType DATE_TYPE

NCHAR_TYPE

public static final SqlType NCHAR_TYPE

NCLOB_TYPE

public static final SqlType NCLOB_TYPE

TIMESTAMP_TYPE

public static final SqlType TIMESTAMP_TYPE

TIMESTAMP_WTZ_TYPE

public static final SqlType TIMESTAMP_WTZ_TYPE

TIMESTAMPTZ_TYPE

public static final SqlType TIMESTAMPTZ_TYPE

TIMESTAMPTZ_TYPE0

public static final SqlType TIMESTAMPTZ_TYPE0

TIMESTAMP_WLTZ_TYPE

public static final SqlType TIMESTAMP_WLTZ_TYPE

TIMESTAMPLTZ_TYPE

public static final SqlType TIMESTAMPLTZ_TYPE

TIMESTAMPLTZ_TYPE0

public static final SqlType TIMESTAMPLTZ_TYPE0

DECIMAL_TYPE

public static final SqlType DECIMAL_TYPE

DOUBLE_PRECISION_TYPE

public static final SqlType DOUBLE_PRECISION_TYPE

FLOAT_TYPE

public static final SqlType FLOAT_TYPE

FLOAT38TYPE

public static final SqlType FLOAT38TYPE

BINARY_DOUBLE_TYPE

public static final SqlType BINARY_DOUBLE_TYPE

BINARY_FLOAT_TYPE

public static final SqlType BINARY_FLOAT_TYPE

INTEGER_TYPE

public static final SqlType INTEGER_TYPE

INT_TYPE

public static final SqlType INT_TYPE

LONG_TYPE

public static final SqlType LONG_TYPE

LONG_RAW_TYPE

public static final SqlType LONG_RAW_TYPE

NUMBER_TYPE

public static final SqlType NUMBER_TYPE

NUMERIC_TYPE

public static final SqlType NUMERIC_TYPE

NVARCHAR2_TYPE

public static final SqlType NVARCHAR2_TYPE

PLS_INTEGER_TYPE

public static final SqlType PLS_INTEGER_TYPE

RAW_TYPE

public static final SqlType RAW_TYPE

REAL_TYPE

public static final SqlType REAL_TYPE

REF_CURSOR_TYPE

public static final SqlType REF_CURSOR_TYPE

PLSQL_REF_CURSOR_TYPE

public static final SqlType PLSQL_REF_CURSOR_TYPE

ROWID_TYPE

public static final SqlType ROWID_TYPE

SMALLINT_TYPE

public static final SqlType SMALLINT_TYPE

STRING_TYPE

public static final SqlType STRING_TYPE

UROWID_TYPE

public static final SqlType UROWID_TYPE

VARCHAR_TYPE

public static final SqlType VARCHAR_TYPE

VARCHAR2_TYPE

public static final SqlType VARCHAR2_TYPE

plsqlTableDouble

public static SqlType plsqlTableDouble

plsqlTableFloat

public static SqlType plsqlTableFloat

plsqlTableInt

public static SqlType plsqlTableInt

plsqlTableShort

public static SqlType plsqlTableShort

plsqlTableJldouble

public static SqlType plsqlTableJldouble

plsqlTableJlfloat

public static SqlType plsqlTableJlfloat

plsqlTableJlinteger

public static SqlType plsqlTableJlinteger

plsqlTableJlshort

public static SqlType plsqlTableJlshort

plsqlTableJmbigdecimal

public static SqlType plsqlTableJmbigdecimal

plsqlTableString

public static SqlType plsqlTableString

UNKNOWN_TYPE

public static final SqlType UNKNOWN_TYPE

m_viewCacheManager

protected ViewCacheManager m_viewCacheManager

m_viewCache

protected ViewCache m_viewCache

m_conn

protected java.sql.Connection m_conn

m_isPre920

protected java.lang.Boolean m_isPre920

m_geq9i

protected boolean m_geq9i

m_transitive

protected boolean m_transitive

m_user

protected java.lang.String m_user

m_allTypes

protected java.util.Map<Name,TypeClass> m_allTypes

m_predefTypes

protected java.util.Map<Name,TypeClass> m_predefTypes

m_userTypes

protected java.util.List<TypeClass> m_userTypes

m_allTypeNames

protected java.util.HashSet<java.lang.String> m_allTypeNames

m_allGeneratedTypeNames

protected java.util.HashSet<java.lang.String> m_allGeneratedTypeNames

m_allGeneratedTypeNamesMagicNumber

protected int m_allGeneratedTypeNamesMagicNumber

m_allDefaultArgsHolderTypeNames

protected java.util.Map<java.lang.String,java.lang.String> m_allDefaultArgsHolderTypeNames

m_isReused

protected java.util.HashSet<java.lang.String> m_isReused

m_getTypeCodeWarning

protected boolean m_getTypeCodeWarning

m_sqlStmtType

protected SqlStmtType m_sqlStmtType

m_rowtypeDistinguisher

protected int m_rowtypeDistinguisher

m_wrapperPackageMetadata

protected WrapperPackageMetadata m_wrapperPackageMetadata

m_typeMap

protected java.util.Map<java.lang.String,SqlType> m_typeMap

Constructor Detail

SqlReflector

public SqlReflector(java.sql.Connection conn,
                    java.lang.String user)

Method Detail

reset

public void reset(java.sql.Connection conn)

loadAllTypeNames

public void loadAllTypeNames()

determineSqlName

public java.lang.String determineSqlName(java.lang.String packageName,
                                         java.lang.String[] sourceName,
                                         TypeClass parentType,
                                         boolean[] isRowType,
                                         java.util.List<AttributeField> fields,
                                         SqlType elemType,
                                         SqlType valueType)
                                  throws java.sql.SQLException
Throws:
java.sql.SQLException

determineSqlName

private java.lang.String determineSqlName(java.lang.String name,
                                          boolean toBeDistinguished,
                                          java.util.List<AttributeField> fields,
                                          SqlType elemType,
                                          SqlType valueType)
                                   throws java.sql.SQLException
Throws:
java.sql.SQLException

addAllGeneratedTypeNames

void addAllGeneratedTypeNames(java.lang.String name)

isReused

public boolean isReused(java.lang.String name)

setViewCachePoolCapacity

public void setViewCachePoolCapacity(int size)

sqlTypeInit

private void sqlTypeInit()

getConnection

public java.sql.Connection getConnection()

addSqlType

public SqlType addSqlType(SqlName sqlName,
                          int whatIsIt,
                          boolean mustBeNew,
                          boolean generateMe,
                          SqlType parentType,
                          java.lang.String modifier)
                   throws java.sql.SQLException,
                          PublisherException
Throws:
java.sql.SQLException
PublisherException

addSqlType

public SqlType addSqlType(SqlName sqlName,
                          int whatIsIt,
                          boolean mustBeNew,
                          boolean generateMe,
                          SqlType parentType,
                          java.lang.String modifier,
                          boolean ncharFormOfUse,
                          MethodFilter signatureFilter)
                   throws java.sql.SQLException,
                          PublisherException
Throws:
java.sql.SQLException
PublisherException

addSqlUserType

public SqlType addSqlUserType(java.lang.String schema,
                              java.lang.String type,
                              int whatIsIt,
                              boolean mustBeNew,
                              int line,
                              int col,
                              MethodFilter signatureFilter)
                       throws java.sql.SQLException,
                              PublisherException
Throws:
java.sql.SQLException
PublisherException

addSqlDBType

private SqlType addSqlDBType(SqlName sqlName,
                             java.lang.String modifier,
                             boolean ncharFormOfUse,
                             SqlType parentType)
                      throws java.sql.SQLException,
                             PublisherException
Throws:
java.sql.SQLException
PublisherException

addSqlDBType

public SqlType addSqlDBType(java.lang.String schema,
                            java.lang.String type,
                            java.lang.String subtype,
                            java.lang.String modifier,
                            boolean ncharFormOfUse,
                            SqlType parentType)
                     throws java.sql.SQLException,
                            PublisherException
Throws:
java.sql.SQLException
PublisherException

addPlsqlDBType

public SqlType addPlsqlDBType(java.lang.String schema,
                              java.lang.String type,
                              java.lang.String subtype,
                              java.lang.String modifier,
                              boolean ncharFormOfUse,
                              java.lang.String packageName,
                              java.lang.String methodName,
                              java.lang.String methodNo,
                              int sequence,
                              SqlType parentType)
                       throws java.sql.SQLException,
                              PublisherException
Throws:
java.sql.SQLException
PublisherException

addPlsqlDBType

public SqlType addPlsqlDBType(java.lang.String schema,
                              java.lang.String type,
                              java.lang.String subtype,
                              java.lang.String modifier,
                              boolean ncharFormOfUse,
                              java.lang.String packageName,
                              java.lang.String methodName,
                              java.lang.String methodNo,
                              int sequence,
                              SqlType parentType,
                              boolean isGrandparent)
                       throws java.sql.SQLException,
                              PublisherException
Throws:
java.sql.SQLException
PublisherException

reflectRowtypeInfo

java.util.List<RowtypeInfo> reflectRowtypeInfo(java.lang.String packageName,
                                               java.lang.String methodName,
                                               java.lang.String methodNo,
                                               int sequence)
                                         throws java.sql.SQLException
Throws:
java.sql.SQLException

addPredefType

public SqlType addPredefType(java.lang.String schema,
                             java.lang.String type,
                             int typecode,
                             java.lang.String javaName,
                             java.lang.String convertInto,
                             java.lang.String convertOutOf,
                             java.lang.String conversionTarget)
                      throws PublisherException
Throws:
PublisherException

addPredefType

public SqlType addPredefType(SqlName name,
                             int typecode)
                      throws PublisherException
Throws:
PublisherException

addType

public void addType(Name name,
                    TypeClass type,
                    boolean generateMe)

addDefaultArgsHolderType

public SqlType addDefaultArgsHolderType(SqlType valueType,
                                        java.lang.String packageName,
                                        SqlType parentType,
                                        boolean ncharFormOfUse)
                                 throws java.sql.SQLException,
                                        PublisherException
Throws:
java.sql.SQLException
PublisherException

isUserType

public boolean isUserType(TypeClass t)

findType

private SqlType findType(SqlName sqlName)

findType

private SqlType findType(java.lang.String schema,
                         java.lang.String type)

findPredefType

private SqlType findPredefType(SqlName sqlName)

findPredefType

private SqlType findPredefType(java.lang.String schema,
                               java.lang.String type)

_findType

private SqlType _findType(java.util.Map<Name,TypeClass> ht,
                          SqlName sqlName)

findType

public SqlType findType(java.lang.String name)

addAllTypes

public void addAllTypes(java.lang.String schema)
                 throws java.sql.SQLException,
                        PublisherException
Add all types declared in the given schema to the set of types to be translated.
Throws:
java.sql.SQLException
PublisherException

addAllPackages

public void addAllPackages(java.lang.String schema)
                    throws java.sql.SQLException,
                           PublisherException
Throws:
java.sql.SQLException
PublisherException

addJavaType

public JavaType addJavaType(java.lang.String typeName,
                            java.util.List<AttributeField> fields,
                            java.util.List<ProcedureMethod> methods,
                            boolean genPattern,
                            TypeClass sqlType)
                     throws java.sql.SQLException
Throws:
java.sql.SQLException

hasMethodsInSubclasses

public boolean hasMethodsInSubclasses(TypeClass who)
                               throws java.sql.SQLException,
                                      PublisherException
Search among userTypes, and return a boolean indicating whether a subclass of the receiver type has methods
Throws:
java.sql.SQLException
PublisherException

createSqlStmtType

public void createSqlStmtType(SqlName sqlName)
                       throws java.sql.SQLException
Throws:
java.sql.SQLException

isPre920

public boolean isPre920()

geqOracle9

public boolean geqOracle9()

geqOracle9

public static boolean geqOracle9(java.sql.Connection conn)

setTransitive

public void setTransitive(boolean transitive)

isNull

public static boolean isNull(java.lang.String col)

noUserTypes

public boolean noUserTypes()

getTypeMap

public java.util.Map<java.lang.String,SqlType> getTypeMap()

genPattern

private LangName genPattern(LangName langName,
                            java.lang.String simpleName,
                            boolean sql2Java)
Used for implicitly publishing SQL types Based on the -genPattern setting, sets the LangName associated with this SqlName.

determineSqlName

public java.lang.String determineSqlName(java.lang.String name,
                                         boolean toBeDistinguished)

getViewCache

public ViewCache getViewCache()

getViewCache

public void getViewCache(ViewCache vc)

close

public void close()

getUserTypes

public java.util.Iterator<TypeClass> getUserTypes()
Returns all the user-defined SqlTypes. New types may be appended to the end of the enumeration as the existing types are published or navigated.

getWrapperPackageMetadata

public WrapperPackageMetadata getWrapperPackageMetadata()
Returns:
metadata for generated PL/SQL wrapper package

addWrapperMethodMetadata

public void addWrapperMethodMetadata(java.lang.String name,
                                     java.lang.String[] paramTypes,
                                     java.lang.String[] paramNames,
                                     java.lang.String returnType)

Skip navigation links

Copyright © 1998, 2012, Oracle. All Rights Reserved.