org.apache.ojb.broker.util
Class SqlHelper

java.lang.Object
  extended by org.apache.ojb.broker.util.SqlHelper

public class SqlHelper
extends java.lang.Object

Helper class for all SQL related stuff.

Version:
$Id: SqlHelper.java 365232 2005-12-21 22:36:07Z tomdz $
Author:
Armin Waibel

Nested Class Summary
static class SqlHelper.PathInfo
          Helper Class for a split column
ie: sum (distinct amount) as theAmount prefix = 'sum (distinct ' column = 'amount' suffix = ') as theAmount'
 
Field Summary
static java.lang.String OJB_CLASS_COLUMN
          define the name of the pseudo column holding the class to be instantiated.
 
Constructor Summary
SqlHelper()
           
 
Method Summary
static java.lang.String cleanPath(java.lang.String aPath)
          remove functions and () from path
ie: avg(amount) -> amount
ie: sum (accounts.amount) -> accounts.amount
ie: count(distinct id) as theCount-> id
static java.lang.String getOjbClassName(java.sql.ResultSet rs)
          Returns the name of the class to be instantiated.
static SqlHelper.PathInfo splitPath(java.lang.String aPath)
          Split a path into column , prefix and suffix, the prefix contains all info up to the column
ie: avg(amount) -> amount , avg( , )
ie: sum (accounts.amount) as theSum -> accounts.amount , sum( , ) as theSum
ie: count( distinct id ) as bla -> id , count(distinct , ) as bla
Supports simple expressions ie: price * 1.05 TODO: cannot resolve multiple attributes in expression ie: price - bonus
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OJB_CLASS_COLUMN

public static final java.lang.String OJB_CLASS_COLUMN
define the name of the pseudo column holding the class to be instantiated.

See Also:
Constant Field Values
Constructor Detail

SqlHelper

public SqlHelper()
Method Detail

cleanPath

public static java.lang.String cleanPath(java.lang.String aPath)
remove functions and () from path
ie: avg(amount) -> amount
ie: sum (accounts.amount) -> accounts.amount
ie: count(distinct id) as theCount-> id

Parameters:
aPath - the path to the attribute

splitPath

public static SqlHelper.PathInfo splitPath(java.lang.String aPath)
Split a path into column , prefix and suffix, the prefix contains all info up to the column
ie: avg(amount) -> amount , avg( , )
ie: sum (accounts.amount) as theSum -> accounts.amount , sum( , ) as theSum
ie: count( distinct id ) as bla -> id , count(distinct , ) as bla
Supports simple expressions ie: price * 1.05 TODO: cannot resolve multiple attributes in expression ie: price - bonus

Parameters:
aPath -
Returns:
PathInfo

getOjbClassName

public static java.lang.String getOjbClassName(java.sql.ResultSet rs)
Returns the name of the class to be instantiated.

Parameters:
rs - the Resultset
Returns:
null if the column is not available


(C) 2002 - 2006 Apache Software Foundation
All rights reserved. Published under the Apache License 2.0.
http://db.apache.org/ojb
Version: 1.0.4, 2005-12-30