dke.smwp.db
Class DB_smwp_fc

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

public class DB_smwp_fc
extends java.lang.Object

database handling for table SMWP_FC_PARAMS.

 CREATE TABLE SMWP_FC (
   FC_NAME    VARCHAR2 (255)
   FC_KIND    VARCHAR2 (50)
   FRAGBASE   VARCHAR2 (255)
   DERIVBASE  VARCHAR2 (255)
   P_T        VARCHAR2 (500)
   P_F        VARCHAR2 (500)
 ) 

Version:
1.0
Author:
Werner Enser

Field Summary
private  ConnectionPool _connectionPool
          ConnectionPool handle
static java.lang.String COLUMN_DERIVBASE
          column name for logical name of the derivation base class (null if fragment class is a primary fragment class)
static java.lang.String COLUMN_FC_KIND
          column name for type of fragment class: "primary", "derived", "root"
static java.lang.String COLUMN_FC_NAME
          column name for logical name of the fragment class (longname, which is being mapped to a shortname via table SMWP_TABLENAME)
static java.lang.String COLUMN_FRAGBASE
          column name for logical name of the fragment base class
static java.lang.String COLUMN_FRAGMENT_SELECTION_PREDICATE
          column name for fragment selection predicate (null if fragment class is a derived fragment class)
static java.lang.String COLUMN_TUPLE_SELECTION_PREDICATE
          column name for tuple selection predicate (null if fragment class is a derived fragment class)
static java.lang.String TABLENAME_SMWP_FC
          tablename for fragment classes
static java.lang.String TYPE_SMWP_FC_DERIVED
          designator for fragment class type: derived fragment class
static java.lang.String TYPE_SMWP_FC_PRIMARY
          designator for fragment class type: primary fragment class
static java.lang.String TYPE_SMWP_FC_ROOT
          designator for fragment class type: root fragment class
 
Constructor Summary
DB_smwp_fc()
          default constructor
 
Method Summary
 boolean delete(java.lang.String fc_longName)
          deletes meta-data of Fragment Class designated by fc_longName;
 java.util.Hashtable getFragmentClassData(java.lang.String fc_longName)
          gets Fragment Class meta-data of given Fragment Class
 java.util.Hashtable[] getFragmentClasses()
          gets Fragment Class meta-data of all Fragment Classes;
 java.lang.String getFragmentPredicate(java.lang.String fc_longName)
          fetching fragment selection predicate from meta-data table for Fragment Class designated by fc_longName
 java.lang.String getRootName(java.lang.String fc_longName)
          recursive walk up the fragmentation hierarchy to get the name of the Root Fragment Class of a given Fragment Class designaed by fc_longName;
 java.lang.String getTuplePredicate(java.lang.String fc_longName)
          fetching tuple selection predicate from meta-data table for Fragment Class designated by fc_longName
 boolean isFragmentclass(java.lang.String longName)
          checks if a fragment class by name longName exists;
 boolean isFragmentclass(java.lang.String rootName, java.util.ArrayList paramNames)
          checks if a fragment class by name rootName, paramNames exists;
 boolean isFragmentclass(java.lang.String rootName, java.lang.String[] paramNames)
          checks if a fragment class by name rootName, paramNames exists;
 boolean isRootFragment(java.lang.String fc_longName)
          check if fragment class designated by fc_longName is a root fragment class;
 boolean isUsedAsBaseClass(java.lang.String longName)
          checks if a Fragment Class designated by longName is being used as fragment base class or derivation base class;
 void set(java.lang.String fc_name, java.lang.String fc_kind)
          set Fragment Class meta-data
 void set(java.lang.String fc_name, java.lang.String fc_kind, java.lang.String fragbase, java.lang.String derivbase, java.lang.String p_t, java.lang.String p_f)
          set Fragment Class meta-data
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

TABLENAME_SMWP_FC

public static java.lang.String TABLENAME_SMWP_FC
tablename for fragment classes

TYPE_SMWP_FC_ROOT

public static java.lang.String TYPE_SMWP_FC_ROOT
designator for fragment class type: root fragment class

TYPE_SMWP_FC_PRIMARY

public static java.lang.String TYPE_SMWP_FC_PRIMARY
designator for fragment class type: primary fragment class

TYPE_SMWP_FC_DERIVED

public static java.lang.String TYPE_SMWP_FC_DERIVED
designator for fragment class type: derived fragment class

COLUMN_FC_NAME

public static java.lang.String COLUMN_FC_NAME
column name for logical name of the fragment class (longname, which is being mapped to a shortname via table SMWP_TABLENAME)

COLUMN_FC_KIND

public static java.lang.String COLUMN_FC_KIND
column name for type of fragment class: "primary", "derived", "root"

COLUMN_FRAGBASE

public static java.lang.String COLUMN_FRAGBASE
column name for logical name of the fragment base class

COLUMN_DERIVBASE

public static java.lang.String COLUMN_DERIVBASE
column name for logical name of the derivation base class (null if fragment class is a primary fragment class)

COLUMN_TUPLE_SELECTION_PREDICATE

public static java.lang.String COLUMN_TUPLE_SELECTION_PREDICATE
column name for tuple selection predicate (null if fragment class is a derived fragment class)

COLUMN_FRAGMENT_SELECTION_PREDICATE

public static java.lang.String COLUMN_FRAGMENT_SELECTION_PREDICATE
column name for fragment selection predicate (null if fragment class is a derived fragment class)

_connectionPool

private ConnectionPool _connectionPool
ConnectionPool handle
Constructor Detail

DB_smwp_fc

public DB_smwp_fc()
default constructor
Method Detail

delete

public boolean delete(java.lang.String fc_longName)
deletes meta-data of Fragment Class designated by fc_longName;
Parameters:
fc_longName - name of Fragment Class, whose meta-data is to be deleted
Returns:
true if meta-data was deleted, false otherwise

isRootFragment

public boolean isRootFragment(java.lang.String fc_longName)
check if fragment class designated by fc_longName is a root fragment class;
Parameters:
fc_longName - name of Fragment Class which is to be checked
Returns:
true if fc_longName marks a Root Fragment Class, false otherwise

getRootName

public java.lang.String getRootName(java.lang.String fc_longName)
recursive walk up the fragmentation hierarchy to get the name of the Root Fragment Class of a given Fragment Class designaed by fc_longName;
Parameters:
fc_longName - name of fragment class which origin for recursive walk up the hierarchy in order to find the Root Fragment Class, whose name is used as root name

getFragmentPredicate

public java.lang.String getFragmentPredicate(java.lang.String fc_longName)
fetching fragment selection predicate from meta-data table for Fragment Class designated by fc_longName
Parameters:
fc_longName - name of Fragment Class whose fragment selection predicate is to be fetched

getTuplePredicate

public java.lang.String getTuplePredicate(java.lang.String fc_longName)
fetching tuple selection predicate from meta-data table for Fragment Class designated by fc_longName
Parameters:
fc_longName - name of Fragment Class whose tuple selection predicate is to be fetched

getFragmentClasses

public java.util.Hashtable[] getFragmentClasses()
gets Fragment Class meta-data of all Fragment Classes;
Returns:
fragment class meta-data; using column names of relation smwp_fc as key in Hashtable

getFragmentClassData

public java.util.Hashtable getFragmentClassData(java.lang.String fc_longName)
gets Fragment Class meta-data of given Fragment Class
Parameters:
fc_longName - name of Fragment Class whose meta-data is to be fetched
Returns:
fragment class meta-data; using column names of relation smwp_fc as key in Hashtable

set

public void set(java.lang.String fc_name,
                java.lang.String fc_kind)
         throws java.sql.SQLException
set Fragment Class meta-data
Parameters:
fc_name - fragment class name (longname)
fc_kind - type of fragment class either \"primary\" or \"derived\" or \"root\"
Throws:
java.sql.SQLException - saving meta-data failed

set

public void set(java.lang.String fc_name,
                java.lang.String fc_kind,
                java.lang.String fragbase,
                java.lang.String derivbase,
                java.lang.String p_t,
                java.lang.String p_f)
         throws java.sql.SQLException
set Fragment Class meta-data
Parameters:
fc_name - name of fragment class
fc_kind - type of fragment class; either "primary" or "derived" or "root"
fragbase - fragment class name (longname) of fragmentation base, can be null for root fragment classes
derivbase - fragment class name (longname) of derivation base
p_t - tuple selection predicate
p_f - fragment selection predicate
Throws:
java.sql.SQLException - saving meta-data failed

isFragmentclass

public boolean isFragmentclass(java.lang.String longName)
checks if a fragment class by name longName exists;
Parameters:
longName - name of fragment class which is to be checked

isFragmentclass

public boolean isFragmentclass(java.lang.String rootName,
                               java.lang.String[] paramNames)
checks if a fragment class by name rootName, paramNames exists;
Parameters:
rootName - root name of fragment class, which is to be checked
paramNames - param names used by fragment class

isFragmentclass

public boolean isFragmentclass(java.lang.String rootName,
                               java.util.ArrayList paramNames)
checks if a fragment class by name rootName, paramNames exists;
Parameters:
rootName - root name of fragment class, which is to be checked
paramNames - param names used by fragment class

isUsedAsBaseClass

public boolean isUsedAsBaseClass(java.lang.String longName)
checks if a Fragment Class designated by longName is being used as fragment base class or derivation base class;
Parameters:
longName - name of fragment class, which is to be checked
Returns:
true if fragmentClass is used as base class, false otherwise