|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--DSRG.VKB.VKB
This VKB class represents the VKB of EVE system.
It stores a
hashtable of View_index.
We find the view definitiosn by name
is by traverse
List of Functions VKB should provide
VKB should help VSA in the view synchronization. Now, in VSA we can do following schema evolutions:
I try to do all the class design to help us make the implementation extendable. So, if in the future MKB needs to be changed, and that change will affect the Relation and Attribute classes in MKB, like MKB change its structure to keep the history, we just need to remain the same interface between VKB and those classes, then everything should be fine. I need to define another two interfaces between VKB and Relation and Attribute.
View_Definition
, Serialized FormField Summary | |
(package private) MKB |
mkb
The reference of MKB this VKB based on. |
(package private) java.util.Hashtable |
View_index
Index of view definition on View Name. |
Constructor Summary | |
VKB()
Default constructor. |
|
VKB(java.lang.String ESQL_file,
MKB ref)
Parse E-SQL/SQL String and create the VKB object. |
Method Summary | |
void |
addViewDefinition(View_Definition newVD)
Add one view definition to this VKB It will affect the index structure. |
void |
changeAttributeName(java.lang.String IS_name,
java.lang.String Rel_name,
java.lang.String Attr_name,
java.lang.String new_name)
This function will call MKB to change the specific attribute. |
void |
changeRelationName(java.lang.String IS_name,
java.lang.String Rel_name,
java.lang.String new_name)
This function will call MKB to change the specific relation. |
void |
dropSetOfVDs(java.util.Vector VDs)
Drop a vector of view definitions specified by Vector VDs. |
void |
dropViewDefinition(java.lang.String viewName)
Remove one view definition from this VKB with specific view name. |
void |
dropViewDefinition(View_Definition view)
Remove one view definition from this VKB. |
java.lang.String |
getESQL(java.lang.String viewName)
returns the E-SQl definition fo the view with the given name |
MKB |
getMKB()
Get the MKB of this VKB |
java.lang.String |
getSQL(java.lang.String viewName)
returns the SQl definition fo the view with the given name |
View_Definition |
getVD(java.lang.String view_name)
Get View Definition for a View of a specific name |
java.util.Vector |
getViewDefinitions(java.lang.String IS_name)
Get a vector of ViewDefinitions mentioning a specific Information Source (IS) name. |
java.util.Vector |
getViewDefinitions(java.lang.String IS_name,
java.lang.String Rel_name)
Get a vector of all ViewDefinitions mentioning a Relation of a specific Relation Name. |
java.util.Vector |
getViewDefinitions(java.lang.String IS_name,
java.lang.String Rel_name,
java.lang.String Attr_name)
Get a vector of ViewDefinitions mentioning an Attribute of the given name. |
java.util.Vector |
getViewNames()
Get a Vector of ViewNames in this VKB |
void |
replaceViewDefinition(View_Definition V,
View_Definition bestV)
Replace view V with bestV. |
void |
setMKB(MKB ref)
Set the MKB of this VKB |
void |
setViewIndex(java.util.Hashtable index)
Set View_Index Hashtable of this VKB |
java.lang.String |
toString()
Display VKB in ESQL mode |
Methods inherited from class java.lang.Object |
|
Field Detail |
java.util.Hashtable View_index
MKB mkb
Constructor Detail |
public VKB()
public VKB(java.lang.String ESQL_file, MKB ref)
ESQL_file
- E-SQL/SQL of this VKB/ or a file nameref
- MKB of this VKB depends onMethod Detail |
public MKB getMKB()
public void setMKB(MKB ref)
public void replaceViewDefinition(View_Definition V, View_Definition bestV)
public void setViewIndex(java.util.Hashtable index)
index
- New index of view definitionspublic void addViewDefinition(View_Definition newVD)
It will affect the index structure. We need to re-index the View definition.
public void dropViewDefinition(java.lang.String viewName)
It will affect the index structure. We need to re-index the View definition.
public void dropViewDefinition(View_Definition view)
It will affect the index structure. We need to re-index the View definition.
public void dropSetOfVDs(java.util.Vector VDs)
public java.util.Vector getViewDefinitions(java.lang.String IS_name)
public java.util.Vector getViewDefinitions(java.lang.String IS_name, java.lang.String Rel_name)
IS_name
- Information Source NameRel_name
- Relation Namepublic java.util.Vector getViewDefinitions(java.lang.String IS_name, java.lang.String Rel_name, java.lang.String Attr_name)
IS_name
- Information Source NameRel_name
- Relation NameAttr_name
- Attribute Namepublic java.lang.String getESQL(java.lang.String viewName)
viewName
- the name of the view to be queriedpublic java.lang.String getSQL(java.lang.String viewName)
viewName
- the name of the view to be queriedpublic View_Definition getVD(java.lang.String view_name)
view_name
- name of view definitionpublic void changeAttributeName(java.lang.String IS_name, java.lang.String Rel_name, java.lang.String Attr_name, java.lang.String new_name)
It's different from make one attribute_component in one view_definition reference to another attribute, which will only change one attribute_component of one view_definition.
IS_name
- Information Source NameRel_name
- Relation NameAttr_name
- Attribute Namenew_name
- New attribute Namepublic void changeRelationName(java.lang.String IS_name, java.lang.String Rel_name, java.lang.String new_name)
It's means it will also affect the attribute_component and condition_component.
IS_name
- Information Source NameRel_name
- Relation Namenew_name
- New Relation Namepublic java.util.Vector getViewNames()
public java.lang.String toString()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |