globalschema
Class BaseExtension

java.lang.Object
  |
  +--globalschema.BaseExtension

public class BaseExtension
extends java.lang.Object

questa classe implementa la singola Base Extension


Field Summary
 java.util.Vector attributes
          vettore di stringhe contenenti i nomi degli attributi
 int baseExtNumber
          numero di riferimento della base extension; deve essere unico all'interno di una stessa ExtensionalHierarchy
 java.util.Vector joinMap
          vettore di JoinMap, praticamente matrice di SourceClass
 java.util.Vector localClasses
          vettore di SourceClass: classi locali presenti nella base extension
 
Constructor Summary
BaseExtension()
           
BaseExtension(int num)
          inizializza una classe vuota
BaseExtension(int num, java.util.Vector a, java.util.Vector lc)
          genera un'istanza della classe inizializzandone i campi Se uno dei vettori rappresentanti gli attributi o le classi locali dovesse essere un campo null, viene creato un vettore vuoto
 
Method Summary
 java.util.Vector classOptimization(java.util.Vector qAttr)
          Questo metodo fornisce l'insieme di classi da interrogare ottimizzato rispetto ad una determinata BaseExtension ed una BasicQuery i cui attributi sono passati come parametro
 boolean dominates(BaseExtension dominated)
          Questo metodo indica se la base extension in questione domina o meno quella passata come parametro
 JoinMap getJoinMap(SourceClass class1, SourceClass class2)
          Questo metodo fornisce l'oggetto di tipo JoinMap riguardante le due classi passate come parametri; se queste classi non sono joineable in questa base extension, dovrebbe essere ritornato un valore null
 java.util.Vector getLocalClasses()
          restituisce l'insieme delle classi locali relative alla Base Extension specificata
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

baseExtNumber

public int baseExtNumber
numero di riferimento della base extension; deve essere unico all'interno di una stessa ExtensionalHierarchy

attributes

public java.util.Vector attributes
vettore di stringhe contenenti i nomi degli attributi

localClasses

public java.util.Vector localClasses
vettore di SourceClass: classi locali presenti nella base extension

joinMap

public java.util.Vector joinMap
vettore di JoinMap, praticamente matrice di SourceClass
Constructor Detail

BaseExtension

public BaseExtension(int num)
inizializza una classe vuota
Parameters:
num - e' il numero di riferimento della base extension

BaseExtension

public BaseExtension(int num,
                     java.util.Vector a,
                     java.util.Vector lc)
genera un'istanza della classe inizializzandone i campi Se uno dei vettori rappresentanti gli attributi o le classi locali dovesse essere un campo null, viene creato un vettore vuoto
Parameters:
num - e' il numero di riferimento della base extension
a - e' un vettore di stringhe contenenti i nomi degli attributi
lc - e' un vettore i cui elementi sono oggetti istanza di SourceClass che rappresentano le classi locali della base extension

BaseExtension

public BaseExtension()
Method Detail

getLocalClasses

public java.util.Vector getLocalClasses()
restituisce l'insieme delle classi locali relative alla Base Extension specificata

getJoinMap

public JoinMap getJoinMap(SourceClass class1,
                          SourceClass class2)
Questo metodo fornisce l'oggetto di tipo JoinMap riguardante le due classi passate come parametri; se queste classi non sono joineable in questa base extension, dovrebbe essere ritornato un valore null
Parameters:
class1 - prima classe sorgente da controllare
class2 - seconda classe sorgente da controllare
Returns:
restituisce un oggetto di tipo JoinMap se le due classi sono joineable in questa base extension, se no restituisce null

classOptimization

public java.util.Vector classOptimization(java.util.Vector qAttr)
Questo metodo fornisce l'insieme di classi da interrogare ottimizzato rispetto ad una determinata BaseExtension ed una BasicQuery i cui attributi sono passati come parametro
Parameters:
qAttr - e' un vettore contenente gli attributi presenti nella query
Returns:
restituisce un vettore di oggetti di tipo SourceClass che rappresenta l'insieme ottimizzato di classi da interrogare

dominates

public boolean dominates(BaseExtension dominated)
Questo metodo indica se la base extension in questione domina o meno quella passata come parametro
Parameters:
dominated - oggetto di tipo base extension per il quale si deve verificare la dominanza o meno
Returns:
restituisce true se la base extension passata come parametro e' dominata da quella in questione, se no restituisce false