dke.smwp.db
Class DB_smwp_parameters

java.lang.Object
  |
  +--dke.smwp.db.DB_smwp_parameters

public class DB_smwp_parameters
extends java.lang.Object

database handling for table SMWP_PARAM_MAPPING;

Defines all created parameters which are available.

SMWP_PARAMETERS (
   FC_ROOT_NAME  VARCHAR2 (30)  NOT NULL,
   PARAM_NAME    VARCHAR2 (30)  NOT NULL,
   PARAM_KIND    VARCHAR2 (10)  NOT NULL,
   RR_NAME       VARCHAR2 (255)  NOT NULL,
   RR_ATTR_NAME  VARCHAR2 (30),
 )  

Version:
1.0
Author:
Werner Enser

Field Summary
private  ConnectionPool _connectionPool
          ConnectionPool handle
static java.lang.String COLUMN_FC_ROOT_NAME
          logical name of the root fragment class relation
static java.lang.String COLUMN_PARAM_KIND
          type of the defined parameter: predicate, value
static java.lang.String COLUMN_PARAM_NAME
          name of the fragmentation parameter, which is defined upon the root fragment class
static java.lang.String COLUMN_RR_ATTR_NAME
          name of the attribute within the reference relaion which is used as fragmentation parameter
static java.lang.String COLUMN_RR_NAME
          name of the reference relation containing the parameter domain
static java.lang.String PARAM_KIND_PREDICATE
          name for predicate parameter
static java.lang.String PARAM_KIND_VALUE
          name for value parameter
static java.lang.String TABLENAME_SMWP_PARAMETERS
          tablename for metadata of parameters
 
Constructor Summary
DB_smwp_parameters()
          default constructor
 
Method Summary
 boolean delete(java.lang.String fc_rootName, java.lang.String paramName)
          deletes meta-data for parameter
 java.lang.String[] getFragmentClassUsingParameter(java.lang.String fc_longName, java.lang.String fc_paramName)
          gets names of Fragment Classes using the parameter paramName which is defined upon Root Fragment Class fc_longName TODO: does not fetch parameters of derived fragment classes
 AbstractParameter getParameter(java.lang.String fc_rootName, java.lang.String paramName)
          gets the parameter designated by the Root Fragment Class fc_rootName and parameter name
 AbstractParameter getParameterByFragmentClass(java.lang.String fc_longName, java.lang.String paramName)
          gets all parameters used by fragment class recursive method - iterates trough fragmentation tree in order to find the Root Fragment Class on which the searched parameter is defined upon and returns this parameter
 AbstractParameter[] getParameters(java.lang.String paramName)
          gets List of parameters designated by the name of the parameter paramName, regardless of which Root Fragment Class it is defined
 AbstractParameter[] getParametersByFragmentClass(java.lang.String fc_rootName)
          gets List of all parameters which are defined upon Root Fragment Class fc_rootName
 java.lang.String[] getParamNames(java.lang.String fc_rootName)
          get parameter names for parameters (ValueParameter, PredicateParameter) which are defined upon Root Fragment Class designated by fc_rootName
 java.util.Hashtable getParamTuple(java.lang.String fc_rootName, java.lang.String paramName)
          gets parameter data for parameter defined upon Fragment Class fc_rootName
 java.lang.String getReferenceRelationAttributeName(java.lang.String fc_rootName, java.lang.String paramName)
          gets attribute name of reference relation which is used as Value Parameter and mapped to parameter name param_name
 java.lang.String getReferenceRelationName(java.lang.String fc_rootName, java.lang.String paramName)
          gets attribute name of reference relation which is used as Value Parameter and mapped to parameter name param_name
 boolean parameterExists(java.lang.String fc_rootName, java.lang.String paramName)
          checks if a parameter exists; parameter is designated by Root Fragment Class fc_rootName, parameter name paramName;
 boolean parameterExists(java.lang.String fc_rootName, java.lang.String paramName, java.lang.String paramKind)
          checks if a parameter exists; parameter is designated by Root Fragment Class fc_rootName, parameter name paramName and type of parameter paramKind
 boolean parameterUsed(java.lang.String fc_rootName, java.lang.String fc_paramName)
          checks if a defined parameter, designated by fc_rootName and fc_paramName, is used by at least one Fragment Class
 void set(java.lang.String fc_rootName, java.lang.String paramName, java.lang.String paramKind, java.lang.String rr_name, java.lang.String rr_attr_name)
          inserts parameter information into meta-data relation
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

TABLENAME_SMWP_PARAMETERS

public static java.lang.String TABLENAME_SMWP_PARAMETERS
tablename for metadata of parameters

PARAM_KIND_VALUE

public static java.lang.String PARAM_KIND_VALUE
name for value parameter

PARAM_KIND_PREDICATE

public static java.lang.String PARAM_KIND_PREDICATE
name for predicate parameter

COLUMN_FC_ROOT_NAME

public static java.lang.String COLUMN_FC_ROOT_NAME
logical name of the root fragment class relation

COLUMN_PARAM_NAME

public static java.lang.String COLUMN_PARAM_NAME
name of the fragmentation parameter, which is defined upon the root fragment class

COLUMN_PARAM_KIND

public static java.lang.String COLUMN_PARAM_KIND
type of the defined parameter: predicate, value

COLUMN_RR_NAME

public static java.lang.String COLUMN_RR_NAME
name of the reference relation containing the parameter domain

COLUMN_RR_ATTR_NAME

public static java.lang.String COLUMN_RR_ATTR_NAME
name of the attribute within the reference relaion which is used as fragmentation parameter

_connectionPool

private ConnectionPool _connectionPool
ConnectionPool handle
Constructor Detail

DB_smwp_parameters

public DB_smwp_parameters()
default constructor
Method Detail

getParamTuple

public java.util.Hashtable getParamTuple(java.lang.String fc_rootName,
                                         java.lang.String paramName)
gets parameter data for parameter defined upon Fragment Class fc_rootName
Parameters:
fc_rootName - Root Fragment Class name
paramName - name of parameter

getParamNames

public java.lang.String[] getParamNames(java.lang.String fc_rootName)
get parameter names for parameters (ValueParameter, PredicateParameter) which are defined upon Root Fragment Class designated by fc_rootName
Parameters:
fc_rootName - name of the Root Fragment Class

getParameter

public AbstractParameter getParameter(java.lang.String fc_rootName,
                                      java.lang.String paramName)
                               throws SMWPException
gets the parameter designated by the Root Fragment Class fc_rootName and parameter name
Parameters:
fc_rootName - name of Root Fragment Class
paramName - name of parameter
Returns:
parameter designated by Root Fragment Class and parameter name; null if no such parameter was found

getParameters

public AbstractParameter[] getParameters(java.lang.String paramName)
                                  throws SMWPException
gets List of parameters designated by the name of the parameter paramName, regardless of which Root Fragment Class it is defined
Parameters:
paramName - name of parameter
Returns:
List of all parameters whose parameter name is paramName; null if no parameters with this name were found

getParametersByFragmentClass

public AbstractParameter[] getParametersByFragmentClass(java.lang.String fc_rootName)
                                                 throws SMWPException
gets List of all parameters which are defined upon Root Fragment Class fc_rootName
Parameters:
fc_rootName - name of Root Fragment Class on which the searched parameters are defined upon
Returns:
List of all parameters which are defined upon fc_rootName; null if no parameters where found

getParameterByFragmentClass

public AbstractParameter getParameterByFragmentClass(java.lang.String fc_longName,
                                                     java.lang.String paramName)
                                              throws SMWPException
gets all parameters used by fragment class recursive method - iterates trough fragmentation tree in order to find the Root Fragment Class on which the searched parameter is defined upon and returns this parameter
Parameters:
fc_longName -  
paramName -  

getFragmentClassUsingParameter

public java.lang.String[] getFragmentClassUsingParameter(java.lang.String fc_longName,
                                                         java.lang.String fc_paramName)
gets names of Fragment Classes using the parameter paramName which is defined upon Root Fragment Class fc_longName TODO: does not fetch parameters of derived fragment classes
Parameters:
fc_longName - name of Root Fragment Class upon which the parameter fc_paramName is defined
fc_paramName - name of parameter
Returns:
array of Fragment Class names which are using the parameter designated by Root Fragment Class and parameter name

getReferenceRelationAttributeName

public java.lang.String getReferenceRelationAttributeName(java.lang.String fc_rootName,
                                                          java.lang.String paramName)
gets attribute name of reference relation which is used as Value Parameter and mapped to parameter name param_name
Parameters:
fc_rootName - name of Root Fragment Class
paramName - name of parameter
Returns:
attribute name which is mapped as parameter param_name

getReferenceRelationName

public java.lang.String getReferenceRelationName(java.lang.String fc_rootName,
                                                 java.lang.String paramName)
gets attribute name of reference relation which is used as Value Parameter and mapped to parameter name param_name
Parameters:
fc_rootName - name of Root Fragment Class
paramName - name of parameter
Returns:
attribut name which is mapped as parameter param_name

parameterExists

public boolean parameterExists(java.lang.String fc_rootName,
                               java.lang.String paramName,
                               java.lang.String paramKind)
checks if a parameter exists; parameter is designated by Root Fragment Class fc_rootName, parameter name paramName and type of parameter paramKind
Parameters:
fc_rootName - name of Root Fragment Class upon which the parameter is defined
paramName - name of parameter which is checked
paramKind - type of parameter which is checked
Returns:
true if such a parameter exists, false otherwise

parameterExists

public boolean parameterExists(java.lang.String fc_rootName,
                               java.lang.String paramName)
checks if a parameter exists; parameter is designated by Root Fragment Class fc_rootName, parameter name paramName;
Parameters:
fc_rootName - name of Root Fragment Class, upon which the parameter is defined
paramName - name of parameter which is checked
Returns:
true if such a parameter exists, false otherwise

parameterUsed

public boolean parameterUsed(java.lang.String fc_rootName,
                             java.lang.String fc_paramName)
checks if a defined parameter, designated by fc_rootName and fc_paramName, is used by at least one Fragment Class
Parameters:
fc_rootName - Root Fragment Class upon which the parameter is defined
fc_paramName - name of parameter which is to be checked
Returns:
true if parameter is used by at least one Fragment Class, false otherwise

set

public void set(java.lang.String fc_rootName,
                java.lang.String paramName,
                java.lang.String paramKind,
                java.lang.String rr_name,
                java.lang.String rr_attr_name)
         throws java.sql.SQLException
inserts parameter information into meta-data relation
Parameters:
fc_rootName - name of unfragmented Root Fragment Class
paramName - name of parameter which is defined upon Root Fragment Class
paramKind - type of the parameter; valid values are "value" and "predicate"
rr_name - name of the reference relation
rr_attr_name - attribute name from the reference relation which is mapped as Value Parameter
Throws:
java.sql.SQLException - saving data failed

delete

public boolean delete(java.lang.String fc_rootName,
                      java.lang.String paramName)
deletes meta-data for parameter
Parameters:
fc_rootName - name of unfragmented Root Fragment Class
paramName - name of parameter which is defined upon Root Fragment Class