Skip navigation links
org.eclipse.persistence.platform.database.oracle.publisher.sqlrefl
Class SqlReflector
java.lang.Object
org.eclipse.persistence.platform.database.oracle.publisher.sqlrefl.SqlReflector
-
public class SqlReflector
- extends java.lang.Object
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 |
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
SqlReflector
public SqlReflector(java.sql.Connection conn,
java.lang.String user)
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