dke.smwp.fragmentation
Class FragmentClass

java.lang.Object
  |
  +--dke.smwp.fragmentation.FragmentClass
Direct Known Subclasses:
DerivedFragmentClass, PrimaryFragmentClass

public class FragmentClass
extends java.lang.Object

fragment class handling

Version:
1.0
Author:
Werner Enser

Field Summary
protected  java.util.ArrayList _columns
          contains Column objects representing all columns for the fragment class relation
protected  java.lang.String _derivBase
          longname of derivation base class if fragment class is derived fragment class
protected  FragmentClass _derivBaseClass
          derivation base class - null if fragment class is not derived fragment class
protected  java.lang.String _fc_alias_name
          alias name for fragment class (required for tuple selection predicate, fragment selection predicate, and join statements (derived fragment class only)
protected  java.lang.String _fc_long_name
          fragment class long name - logical name; e.g. long name for fragment class wineries<region> is wineries_region
protected  java.lang.String _fc_root_name
          fragment class root name - e.g. the root name for fragment class wineries<region> is wineries
protected  java.lang.String _fc_short_name
          fragment class short name (physical name in database)
protected  java.util.ArrayList _foreignKeys
          container for ForeignKeyConstraint objects
protected  java.lang.String _fragBase
          longname of fragment base class - null if fragment class is root fragment class
protected  FragmentClass _fragBaseClass
          fragmentation base class - null if current fragment class is root fragment class
protected  FragmentationRelation _fragRelation
          fragmentation relation for current fragment class
protected  java.util.ArrayList _parameters
          contains AbstractParameter objects defining parameters which are used for fragment class parameterization
protected  java.util.ArrayList _primaryKeys
          contains (String) names of primary key columns
 
Constructor Summary
FragmentClass()
          default constructor
FragmentClass(java.lang.String fc_longName)
          constructor - initializes itself from fragment class relation
FragmentClass(java.lang.String fc_rootName, java.util.ArrayList paramNames)
          constructor - initializes itself from fragment class relation
FragmentClass(java.lang.String fc_root_name, java.lang.String[] param_names)
          constructor - initializes itself from fragment class relation
 
Method Summary
 void addColumn(Column column)
           
 void addForeignKey(ForeignKeyConstraint foreignKey)
           
 void addParameter(java.util.ArrayList param_names)
           
 void addParameter(java.lang.String param_name)
           
 void addPrimaryKey(java.lang.String primaryKey)
           
 java.lang.String columnNamesToString()
          generates a string of column names in a comma separated list with following syntax { "," }
 java.lang.String columnNamesToString(java.lang.String prefixText)
          generates a string of column names in a comma separated list with following syntax { "," }
 void dropXMLPublishStmt()
          drops the xml publiscation information for fragment class
 java.lang.String getAliasName()
           
 java.util.ArrayList getColumns()
           
 FragmentClass getDerivBaseClass()
          returns the derivation base class for fragment class (if fragment class is a derived fragment class)
 java.lang.String getDerivBaseClassLongName()
           
 java.lang.String getDerivBaseClassShortName()
           
 java.lang.String getFCElementLocalname()
          gets publishing information for xml - fc_element_localname
 java.util.ArrayList getForeignKeys()
           
 FragmentClass getFragBaseClass()
          returns the fragmnetation base class for fragment class (if fragment class is either primary fragment class or derived fragment class)
 FragmentationRelation getFragmentationRelation()
          returns the fragmentation relation for fragment class
 java.lang.String getFragmentBaseClassLongName()
           
 java.lang.String getFragmentBaseClassShortName()
           
 java.lang.String getFragmentPredicate()
          gets fragment selection predicate for fragment class
 java.lang.String getLongName()
          returns fragment class longname
 AbstractParameter getNewestParameter()
           
 java.util.ArrayList getParameters()
          gets parameter names for FragmentClass
 java.util.ArrayList getPrimaryKeys()
           
 java.lang.String getRootName()
           
 java.lang.String getShortName()
           
 java.lang.String getTupleElementLocalname()
          gets publishing information for xml - tuple_element_localname
 java.lang.String getTuplePredicate()
          gets tuple selection predicate for fragment class
 java.lang.String parameterNamesToString()
          generates a string of parameter names in a comma separated list with following syntax {, }
 java.lang.String parameterNamesToString(java.lang.String prefixText)
          generates a string of parameter names in a comma separated list with following syntax {"," }
 void setAliasName(java.lang.String alias_name)
           
 void setLongName(java.lang.String fc_long_name)
           
 void setRootName(java.lang.String fc_root_name)
           
 void setXMLPublishStmt(XMLPublishFCStatement xmlPublishStmt)
          sets the publication information for fragment class (without publicaton information fragments cannot be serialized as part of pages (xml documents))
 java.lang.String showFragmentClass()
          creates output for displaying fragment class data className fc_name wines<region> fc_kind derived fc_fragBase wines<> fc_derivBase wineries<region> param_name region param_type value tuple selection predicate null fragment selection predicate null publishing info (smwp_publish_fc) namespace http://dke.uni-linz.ac.at/smwp/smwpbench fc_element_localname all-wines-of-a-given-region tuple_element_localname wine
 java.lang.String toString()
          generates string representation for fragment class fc_rootName < [ paramName { "," paramName } ]
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

_columns

protected java.util.ArrayList _columns
contains Column objects representing all columns for the fragment class relation

_parameters

protected java.util.ArrayList _parameters
contains AbstractParameter objects defining parameters which are used for fragment class parameterization

_primaryKeys

protected java.util.ArrayList _primaryKeys
contains (String) names of primary key columns

_foreignKeys

protected java.util.ArrayList _foreignKeys
container for ForeignKeyConstraint objects

_fc_root_name

protected java.lang.String _fc_root_name
fragment class root name - e.g. the root name for fragment class wineries<region> is wineries

_fc_long_name

protected java.lang.String _fc_long_name
fragment class long name - logical name; e.g. long name for fragment class wineries<region> is wineries_region

_fc_short_name

protected java.lang.String _fc_short_name
fragment class short name (physical name in database)

_fc_alias_name

protected java.lang.String _fc_alias_name
alias name for fragment class (required for tuple selection predicate, fragment selection predicate, and join statements (derived fragment class only)

_fragBase

protected java.lang.String _fragBase
longname of fragment base class - null if fragment class is root fragment class

_derivBase

protected java.lang.String _derivBase
longname of derivation base class if fragment class is derived fragment class

_fragBaseClass

protected FragmentClass _fragBaseClass
fragmentation base class - null if current fragment class is root fragment class

_derivBaseClass

protected FragmentClass _derivBaseClass
derivation base class - null if fragment class is not derived fragment class

_fragRelation

protected FragmentationRelation _fragRelation
fragmentation relation for current fragment class
Constructor Detail

FragmentClass

public FragmentClass()
default constructor

FragmentClass

public FragmentClass(java.lang.String fc_longName)
constructor - initializes itself from fragment class relation
Parameters:
fc_long_name -  

FragmentClass

public FragmentClass(java.lang.String fc_rootName,
                     java.util.ArrayList paramNames)
constructor - initializes itself from fragment class relation
Parameters:
fc_root_name -  
param_names -  

FragmentClass

public FragmentClass(java.lang.String fc_root_name,
                     java.lang.String[] param_names)
constructor - initializes itself from fragment class relation
Parameters:
fc_root_name -  
param_names -  
Method Detail

addColumn

public void addColumn(Column column)
Parameters:
column -  

addForeignKey

public void addForeignKey(ForeignKeyConstraint foreignKey)
Parameters:
foreignKey -  

addParameter

public void addParameter(java.lang.String param_name)
                  throws java.sql.SQLException
Parameters:
param_name - parameter name
Throws:
java.sql.SQLException -  

addParameter

public void addParameter(java.util.ArrayList param_names)
                  throws java.sql.SQLException
Parameters:
param_names - list containing strings of parameter names
Throws:
java.sql.SQLException -  

addPrimaryKey

public void addPrimaryKey(java.lang.String primaryKey)
Parameters:
primaryKey -  

columnNamesToString

public java.lang.String columnNamesToString()
generates a string of column names in a comma separated list with following syntax { "," }
Returns:
String of column names in a comma separated list

columnNamesToString

public java.lang.String columnNamesToString(java.lang.String prefixText)
generates a string of column names in a comma separated list with following syntax { "," }
Parameters:
prefixText - text which will be added at the beginning of each column name
Returns:
String of column names in a comma separated list

parameterNamesToString

public java.lang.String parameterNamesToString()
generates a string of parameter names in a comma separated list with following syntax {, }
Returns:
String of column names in a comma separated list

parameterNamesToString

public java.lang.String parameterNamesToString(java.lang.String prefixText)
generates a string of parameter names in a comma separated list with following syntax {"," }
Parameters:
prefixText - text which will be added at the beginning of each column name
Returns:
String of column names in a comma separated list

getAliasName

public java.lang.String getAliasName()

getColumns

public java.util.ArrayList getColumns()

getForeignKeys

public java.util.ArrayList getForeignKeys()

getFCElementLocalname

public java.lang.String getFCElementLocalname()
gets publishing information for xml - fc_element_localname
Returns:
fcElementLocalname

getTupleElementLocalname

public java.lang.String getTupleElementLocalname()
gets publishing information for xml - tuple_element_localname
Returns:
tupleElementLocalname

getLongName

public java.lang.String getLongName()
returns fragment class longname
Returns:
fragment class longname

getNewestParameter

public AbstractParameter getNewestParameter()
                                     throws SMWPException

getParameters

public java.util.ArrayList getParameters()
gets parameter names for FragmentClass

getPrimaryKeys

public java.util.ArrayList getPrimaryKeys()

getRootName

public java.lang.String getRootName()

getShortName

public java.lang.String getShortName()

getTuplePredicate

public java.lang.String getTuplePredicate()
gets tuple selection predicate for fragment class

getFragmentPredicate

public java.lang.String getFragmentPredicate()
gets fragment selection predicate for fragment class

getFragmentBaseClassLongName

public java.lang.String getFragmentBaseClassLongName()

getFragmentBaseClassShortName

public java.lang.String getFragmentBaseClassShortName()

getDerivBaseClassLongName

public java.lang.String getDerivBaseClassLongName()

getDerivBaseClassShortName

public java.lang.String getDerivBaseClassShortName()

getDerivBaseClass

public FragmentClass getDerivBaseClass()
returns the derivation base class for fragment class (if fragment class is a derived fragment class)

getFragBaseClass

public FragmentClass getFragBaseClass()
returns the fragmnetation base class for fragment class (if fragment class is either primary fragment class or derived fragment class)

getFragmentationRelation

public FragmentationRelation getFragmentationRelation()
returns the fragmentation relation for fragment class

setAliasName

public void setAliasName(java.lang.String alias_name)

setLongName

public void setLongName(java.lang.String fc_long_name)

setRootName

public void setRootName(java.lang.String fc_root_name)

setXMLPublishStmt

public void setXMLPublishStmt(XMLPublishFCStatement xmlPublishStmt)
                       throws java.sql.SQLException
sets the publication information for fragment class (without publicaton information fragments cannot be serialized as part of pages (xml documents))
Parameters:
xmlPublishStmt - publication information
Throws:
java.sql.SQLException - setting publicaton information failed

dropXMLPublishStmt

public void dropXMLPublishStmt()
drops the xml publiscation information for fragment class

showFragmentClass

public java.lang.String showFragmentClass()
creates output for displaying fragment class data
className
fc_name      wines<region>
fc_kind      derived
fc_fragBase  wines<>
fc_derivBase wineries<region>
param_name   region
param_type   value
tuple selection predicate     null
fragment selection predicate  null

publishing info (smwp_publish_fc)
namespace                http://dke.uni-linz.ac.at/smwp/smwpbench
fc_element_localname     all-wines-of-a-given-region
tuple_element_localname  wine
Returns:
fragment class data

toString

public java.lang.String toString()
generates string representation for fragment class fc_rootName < [ paramName { "," paramName } ]
Overrides:
toString in class java.lang.Object
Returns:
fragment class name