home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.disi.unige.it
/
2015-02-11.ftp.disi.unige.it.tar
/
ftp.disi.unige.it
/
pub
/
.person
/
GuerriniG
/
dispense
/
corso-oodb
/
progetti-01
/
progetto2
/
candidato.java
< prev
next >
Wrap
Text File
|
2001-03-01
|
4KB
|
137 lines
package progetto2;import com.odi.*;
import com.odi.util.*;
import java.util.*;
public class Candidato{
//Extents
public static Ext_OSTreeSet
Ext = new Ext_OSTreeSet("Candidati");
public boolean showSlotName=false;
// look at toString method ...
// Attributes
public String codFiscale;
public String nome;
public String cognome;
public int annoNascita;
public String indirizzo;
public String email;
public Ente ente;
public OSTreeSet pubblicazioni;
public Telefono[ ] telefoni;
public OSTreeSet titoli;
////////////////////////////////////////////////////////
// Constructor
public Candidato() { }
public Candidato(String _codFiscale, String _nome, String _cognome, int _annoNascita, String _indirizzo, String _email, Ente _ente, OSTreeSet _pubblicazioni, Telefono[] _telefoni, OSTreeSet _titoli) { codFiscale=_codFiscale;
nome=_nome;
cognome=_cognome;
annoNascita=_annoNascita;
indirizzo=_indirizzo;
email=_email;
ente=_ente;
pubblicazioni=_pubblicazioni;
telefoni=_telefoni;
titoli=_titoli;
} ////////////////////////////////////////////////////////
// The Extents
void updateExtents(Database db, boolean add) {
Ext.update(this, db, add); }
////////////////////////////////////////////////////////
// Hook the IPersistent method
public void preFlushContents() {
Segment theSegment= Session.getCurrent().segmentOfpreFlushContentsObject();
Database db = theSegment.getDatabase();
Collection theExtent = (Collection) Ext.getExtents(db);
if (!theExtent.contains(this))
updateExtents(db, true); }
////////////////////////////////////////////////////////
// Override toString method
public String toString() { String ret; ret = super.toString();
if (showSlotName)
ret = ret + " codFiscale";
ret = ret + " " + codFiscale;
if (showSlotName)
ret = ret + " nome";
ret = ret + " " + nome;
if (showSlotName)
ret = ret + " cognome";
ret = ret + " " + cognome;
if (showSlotName)
ret = ret + " annoNascita";
ret = ret + " " + annoNascita;
if (showSlotName)
ret = ret + " indirizzo";
ret = ret + " " + indirizzo;
if (showSlotName)
ret = ret + " email";
ret = ret + " " + email;
if (showSlotName)
ret = ret + " ente";
ret = ret + " " + ente;
if (showSlotName)
ret = ret + " pubblicazioni";
ret = ret + " " + pubblicazioni;
if (showSlotName)
ret = ret + " telefoni";
ret = ret + " " + telefoni;
if (showSlotName)
ret = ret + " titoli";
ret = ret + " " + titoli; return ret; }
// Operations
public long punteggioPubbli(int annoI,int annoF)
{
long ret=0;
Iterator iter = pubblicazioni.iterator();
if (!iter.hasNext())
ret=0;
while (iter.hasNext()) {
Pubblicazione p = (Pubblicazione)iter.next();
if (p.anno >= annoI && p.anno <= annoF)
ret = ret + p.punteggio();
}
return ret;
}
public int punteggioTitoli()
{
int ret=0;
Iterator iter = titoli.iterator();
if (!iter.hasNext())
ret=0;
while (iter.hasNext()) {
TitoloStudio t = (TitoloStudio)iter.next();
if (t.laurea) {ret = ret + 10;}
else {ret = ret + 20;};
}
return ret;
}
public int numPubbliSingole()
{
int ret=0;
Iterator iter = pubblicazioni.iterator();
if (!iter.hasNext())
ret=0;
while (iter.hasNext()) {
Pubblicazione p = (Pubblicazione)iter.next();
if (p.numCoautori==0) {ret = ret + 1;};
}
return ret;
}
public void modificaEnte(Ente ente)
{
this.ente = ente;
}
public void inserisciTitolo(boolean laurea,String in,int anno,Universita univers,int voto)
{
TitoloStudio nTitolo = new TitoloStudio (in,anno,voto,univers,laurea);
titoli.add(nTitolo);
}}