|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Object
|
+--oql.Oql_Query
|
+--oql.Oql_SelectExpr
rappresenta le Query di tipo Select .
Le clausole select e from sono obbligatorie mentre
le altre, (Where , Group by e Order by), sono opzionali.
| Field Summary | |
boolean |
distinct
indica l'eventuale presenza della clausola distinct |
protected java.util.Vector |
fromClause
e' un vettore in cui vengono memorizzate tutte le classi presenti nella clausola from, cioe` le classi di cui viene fatto il join. |
GroupBy |
groupByClause
rappresenta la clausola group by che permette il raggruppamento dei risultati della query. |
java.util.TreeMap |
iterators
contiene le corrispondenze tra nomi di classe ed iteratori. |
java.util.HashMap |
names
e` un campo di tipo HashMap impiegato allo scopo di raccogliere tutti i nomi che compaiono nella query |
java.util.Vector |
orderByClause
e` un campo di tipo collezione che specifica i criteri di ordinamento. |
java.util.Vector |
selectClause
e' un vettore in cui vengono memorizzati gli attributi di proiezione, qualli presenti nella clausola select |
Oql_Query |
whereClause
e' un campo che permette la rappresentazione dei predicati di selezione |
| Fields inherited from class oql.Oql_Query |
columnN,
level,
lineN,
parN,
selectQueryN |
| Constructor Summary | |
Oql_SelectExpr()
crea un'istanza completamente vuota |
|
Oql_SelectExpr(java.util.Vector sc,
java.util.Vector fc,
boolean d)
crea un'istanza contenente l'insieme di attributi di proiezione e l'insieme di classi presenti nella clausola from. |
|
Oql_SelectExpr(java.util.Vector sc,
java.util.Vector fc,
boolean d,
int l,
int c,
int p)
crea un'istanza fornendo gli attributi della clausola select, le classi della claudola from, indicando la presenza dell' operatore distinct . |
|
| Method Summary | |
void |
addClass(FromElement frEle)
metodo per l'inserimento di un elemento nella clausola from. |
void |
addSelPred(Oql_Query pred)
routine per l'aggiunta di un nuovo predicato di selezione. |
java.util.Vector |
getClasses()
restituisce in un vettore di oggett FromElement i nomi delle classi sorgenti coinvolte nella query. |
java.util.Vector |
getClassIterators(java.lang.String cName)
restituisce in un vettore di stringhe gli iteratori associati ad un certo nome di classe. Si osserva che l'ordine con cui vengono restituiti le stringhe e` importante, deve essere infatti rispettato l'ordine in cui le classi sono inserite nella fromClause. |
java.util.Vector |
getFromClause()
restituisce tutti gli elementi presenti nella FromClause. |
java.lang.String |
getIterator(java.lang.String cName,
int pos)
restituisce l'i-esimo iteratore associato ad un certo nome. |
java.lang.String |
getType()
ritorna il tipo di elemento OQL rappresentato dall'oggetto (fornisce cioe` il nome della classe) |
boolean |
hasProjection()
questo metodo analizza gli attributi di proiezione ritornando false se non ve ne sono o se sono tutti oggetti di tipo Oql_Basic, cioe` valori di default, |
boolean |
hasStar()
ruotine per la verifica della presenza dell'operatore '*' come attributo di proiezione . |
java.lang.String |
selectIterator(java.lang.String it,
java.util.HashSet ins)
routine per la scelta dell'iteratore. Tenendo in considerazione gli iteratori gia` impiegati nella Query ne viene creato uno nuovo. |
java.lang.String |
toString()
stampa in una stringa il contenuto dell'oggetto |
TransOutput |
translateQuery(java.lang.String lc,
MappingTable mt,
Oql_SimpleQuery lq)
routine per la trasformazione dell'interrogazione. Questo metodo, ricevendo come parametro la MappingTable relativa ad una classe globale, il nome di una delle classi locali, produce in uscita un vettore contenente le query locali rivolte alla sorgente indicata. |
| Methods inherited from class oql.Oql_Query |
addIterator,
addPar,
clona,
getAttrName,
getLink,
getRefName,
isBasic,
isDefault,
isNull,
traslErr |
| Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
| Field Detail |
public boolean distinct
public java.util.Vector selectClause
protected java.util.Vector fromClause
public Oql_Query whereClause
public GroupBy groupByClause
public java.util.Vector orderByClause
public java.util.HashMap names
public java.util.TreeMap iterators
| Constructor Detail |
public Oql_SelectExpr(java.util.Vector sc,
java.util.Vector fc,
boolean d)
sc - vettore contenente gli attributi di proiezionefc - vettore contenente elementi di tipo FromElemet
che descrivono le classi poste in joind - indica la presenza (valore true) della clausola
distinct
public Oql_SelectExpr(java.util.Vector sc,
java.util.Vector fc,
boolean d,
int l,
int c,
int p)
sc - vettore contenente gli attributi di proiezione.fc - vettore contenente le classi poste in join.d - indica la presenza (valore true) della clausola
distinctl - indica il numero di rigac - indica il numero di colonnap - indica il numero di parentesipublic Oql_SelectExpr()
| Method Detail |
public java.util.Vector getClasses()
throws java.lang.Exception
public java.util.Vector getFromClause()
public void addClass(FromElement frEle)
element - e` l'oggetto di tipo FromElement che viene
aggiunto alla clausola.public boolean hasStar()
public java.util.Vector getClassIterators(java.lang.String cName)
cName - stringa contenente il nome della classe.
public java.lang.String getIterator(java.lang.String cName,
int pos)
name - stringa contenente il nome della classepos - intero che indica quale iteratore vogliamo(la numerazione va
da 0,per il primo iteratore, al numero massiomo -1public void addSelPred(Oql_Query pred)
public TransOutput translateQuery(java.lang.String lc,
MappingTable mt,
Oql_SimpleQuery lq)
throws java.lang.Exception
lc - e` una stringa contenente il nome completo della classe locale
dove per completo si intende nella notazione
"source_name.class_name"mt - e` la Mapping Table contenente le informazioni relative
alla classe localelq - e` la struttura contenente la query locale, cioe` il target
della trasformazione.
public java.lang.String selectIterator(java.lang.String it,
java.util.HashSet ins)
it - e` il nome che si vorrebbe assgnare all'iteratore. Se e' la
stringa vuota o un oggetto null, non viene consideratoins - e` l'insieme dei nomi che non possono essere utilizzatipublic boolean hasProjection()
public java.lang.String toString()
public java.lang.String getType()
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||