oql
Class Oql_Query

java.lang.Object
  |
  +--oql.Oql_Query
Direct Known Subclasses:
oql.Oql_Accessor, Oql_Basic, oql.Oql_BooleanExpr, oql.Oql_CollectionExpr, Oql_Comparison, oql.Oql_Constructor, Oql_ConversionExpr, Oql_Identifier, Oql_Operation, Oql_Projection, Oql_SelectExpr, Oql_SetExpr

public class Oql_Query
extends java.lang.Object
implements java.lang.Cloneable

E` la super classe da cui ereditano tutte le Query OQL


Field Summary
 int columnN
          colonna della Query in cui compare l'elemento
rappresentato dall'oggetto
 int level
          livello di innestamento dell'oggetto all'interno della Query
 int lineN
          linea della Query in cui compare l'elemento
rappresentato dall'oggetto
 int parN
          numero di parentesi entro cui e` racchiuso l'elemento
 int selectQueryN
          numero che identifica in modo univoco le subquery.
 
Constructor Summary
Oql_Query()
           
 
Method Summary
 void addIterator(java.lang.String itName)
          routine per l'aggiunta dell'iteratore al nome dell'oggetto.
 java.lang.String addPar(java.lang.String s, int p)
          aggiunge all'inizio e alla fine della stringa un numero di parentesi rotonde pari al valore inidcato.
 java.lang.Object clona()
           
 java.lang.String getAttrName()
          restituisce in una stringa il nome associato all'oggetto.
Nel caso in cui l'oggetto non abbia un campo name, o comunque un attributo con lo stesso significato, il metodo ritorna una stringa vuota "".
 java.lang.String getLink()
          restituisce in una stringa il nome della classe su cui l'oggetto mappa.
 java.lang.String getRefName()
          se l'oggetto rappresenta un campo usato come foreingkey in una relazione allora questo metodo restituisce il nome il nome del corrispondente attributo nella classe referenziata.
 java.lang.String getType()
          ritorna il tipo di costrutto Oql descritto dalla classe.
 boolean isBasic()
          ruotine per la verifica del tipo di query.
Viene restituito valore true se la query appartiene al sottoinsieme delle Basic Query.
 boolean isDefault()
          restituisce true se l'oggetto rappresenta un valore di default, cioe` una costante.
Il metodo, sostanzialmente, ritorna "true" quando e` invocato da un oggetto specializzazione di Oql_Basic.
 boolean isNull()
          restituisce true se l'oggetto rappresenta un valore "nullo".
Il metodo, sostanzialmente, ritorna "true" quando e` invocato da un oggetto istanza di Oql_Nil.
 java.lang.String toString()
          ritorna la rappresentazione dell'oggetto come stringa
 TransOutput translateQuery(java.lang.String lc, MappingTable mt, Oql_SimpleQuery lq)
          routine di traduzione.
Questo metodo esamina lo statement Oql da cui e` stato invocato fornendo le indicazioni necessarie a trasformarlo, in modo che possa essere inserito in una LocalQuery.
 java.lang.String traslErr(java.lang.String erMessage)
          routine per la gestione dei messaggi di errore rilevati nella fase di trasformazione dell'interrogazione.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

lineN

public int lineN
linea della Query in cui compare l'elemento
rappresentato dall'oggetto

columnN

public int columnN
colonna della Query in cui compare l'elemento
rappresentato dall'oggetto

parN

public int parN
numero di parentesi entro cui e` racchiuso l'elemento

level

public int level
livello di innestamento dell'oggetto all'interno della Query

selectQueryN

public int selectQueryN
numero che identifica in modo univoco le subquery.
Se l'oggetto e` una Select Query allora ne indica il numero. Se l'oggetto e` un altro elemento della Query allora indica la Select Query in cui compare
Constructor Detail

Oql_Query

public Oql_Query()
Method Detail

toString

public java.lang.String toString()
ritorna la rappresentazione dell'oggetto come stringa
Overrides:
toString in class java.lang.Object

getType

public java.lang.String getType()
ritorna il tipo di costrutto Oql descritto dalla classe.

addPar

public java.lang.String addPar(java.lang.String s,
                               int p)
aggiunge all'inizio e alla fine della stringa un numero di parentesi rotonde pari al valore inidcato.
Parameters:
s - e` la stringa a cui sono aggiunte le parentesi.
p - indica il numero di parentesi da inserire

isBasic

public boolean isBasic()
ruotine per la verifica del tipo di query.
Viene restituito valore true se la query appartiene al sottoinsieme delle Basic Query.
Returns:
ritorna true se la query e di tipo Basic, false altrimenti

getLink

public java.lang.String getLink()
restituisce in una stringa il nome della classe su cui l'oggetto mappa. Questo metodo viene impiegato nella fase di query transformation per poter analizzare le caratterstiche dell'oggetto restituito senza dovrci preoccupare del tipo dell'oggetto stesso.

getAttrName

public java.lang.String getAttrName()
restituisce in una stringa il nome associato all'oggetto.
Nel caso in cui l'oggetto non abbia un campo name, o comunque un attributo con lo stesso significato, il metodo ritorna una stringa vuota "".

isDefault

public boolean isDefault()
restituisce true se l'oggetto rappresenta un valore di default, cioe` una costante.
Il metodo, sostanzialmente, ritorna "true" quando e` invocato da un oggetto specializzazione di Oql_Basic.

isNull

public boolean isNull()
restituisce true se l'oggetto rappresenta un valore "nullo".
Il metodo, sostanzialmente, ritorna "true" quando e` invocato da un oggetto istanza di Oql_Nil.

getRefName

public java.lang.String getRefName()
se l'oggetto rappresenta un campo usato come foreingkey in una relazione allora questo metodo restituisce il nome il nome del corrispondente attributo nella classe referenziata.

translateQuery

public TransOutput translateQuery(java.lang.String lc,
                                  MappingTable mt,
                                  Oql_SimpleQuery lq)
                           throws java.lang.Exception
routine di traduzione.
Questo metodo esamina lo statement Oql da cui e` stato invocato fornendo le indicazioni necessarie a trasformarlo, in modo che possa essere inserito in una LocalQuery. Questo metodo dovra` essere specializzato dalle sottoclassi di Oql_Query.
Parameters:
lc - e` il nome, completo, della classe locale. Per completo si intende espresso nella notazione "source_name.class_name"
mt - e` la Mapping Table contenente le informazioni relative alla classe locale
lq - e` la struttura contenente la query locale, cioe` il target della trasformazione.
Returns:
restituisce un oggetto di tipo TransOutput contenente gli elementi necessari alla fase di trasformazione

addIterator

public void addIterator(java.lang.String itName)
routine per l'aggiunta dell'iteratore al nome dell'oggetto.
Questo metodo modifica soltanto gli elementi che rappresentano nomi di attributi, percio` avra` effetto solamente su oggetti di tipo Oql_PathExpr e Oql_Identifier

traslErr

public java.lang.String traslErr(java.lang.String erMessage)
routine per la gestione dei messaggi di errore rilevati nella fase di trasformazione dell'interrogazione.

clona

public java.lang.Object clona()
                       throws java.lang.CloneNotSupportedException