package elte.java2_utikalauz5.jdbc; /** Példatípus (szöveges név) a felhasználói SQL típusok használatának szemléltetésére. SQL definíciója:
CREATE TYPE RÖVIDNÉV AS CHAR(20);@link.forrásfájl {@docRoot}/../data/jdbc/src JDBCTipusok.java @see java.sql.SQLData @since Java 2 Útikalauz programozóknak 1.2 */ class Rovidnev implements java.sql.SQLData { /** A reprezentált rövid név */ public String rövidnév; /** SQL felhasználói típus neve */ private String típus; /** SQL felhasználói típusnév lekérdezése. @return SQL felhasználói típusnév */ public String getSQLTypeName() { return típus; } /** SQL típus beolvasása. @param adatok Beolvasási SQL adatfolyam. @param típus Az olvasott SQL típus neve. @throws java.sql.SQLException Beolvasáskor fellépett hiba. */ public void readSQL( java.sql.SQLInput adatok, String típus ) throws java.sql.SQLException { this.típus = típus; rövidnév = adatok.readString(); } /** SQL típus írása. @param adatok Kiírási SQL adatfolyam. @throws java.sql.SQLException Kiíráskor fellépett hiba. */ public void writeSQL(java.sql.SQLOutput adatok) throws java.sql.SQLException { adatok.writeString(rövidnév); } } /** Példatípus (pénzösszeg) a felhasználói SQL típusok használatának szemléltetésére. SQL definíciója:
CREATE TYPE PÉNZ AS NUMERIC(10,2);@link.forrásfájl {@docRoot}/../data/jdbc/src JDBCTipusok.java @see java.sql.SQLData @since Java 2 Útikalauz programozóknak 1.2 */ class Penz implements java.sql.SQLData { /** A reprezentált pénzösszeg */ public java.math.BigDecimal pénz; /** SQL felhasználói típus neve */ private String típus; /** SQL felhasználói típusnév lekérdezése. @return SQL felhasználói típusnév */ public String getSQLTypeName() { return típus; } /** SQL típus beolvasása. @param adatok Beolvasási SQL adatfolyam. @param típus Az olvasott SQL típus neve. @throws java.sql.SQLException Beolvasáskor fellépett hiba. */ public void readSQL( java.sql.SQLInput adatok, String típus ) throws java.sql.SQLException { this.típus = típus; pénz = adatok.readBigDecimal(); } /** SQL típus írása. @param adatok Kiírási SQL adatfolyam. @throws java.sql.SQLException Kiíráskor fellépett hiba. */ public void writeSQL(java.sql.SQLOutput adatok) throws java.sql.SQLException { adatok.writeBigDecimal(pénz); } } /** Példatípus (lakhely) a felhasználói SQL típusok használatának szemléltetésére. SQL definíciója:
CREATE TYPE LAKHELY (
AJTÓ VARCHAR(20),
HÁZSZÁM NUMERIC(6),
UTCA VARCHAR(100),
VÁROS VARCHAR(50),
IRÁNYÍTÓSZÁM CHAR(8),
TULAJDONOS REF(SZEMÉLY)
);
@link.forrásfájl {@docRoot}/../data/jdbc/src JDBCTipusok.java
@see java.sql.SQLData
@since Java 2 Útikalauz programozóknak 1.2
*/
class Lakhely implements java.sql.SQLData {
/** Lakcím ajtó része */
public String ajtó;
/** Lakcím házszám része */
public int házszám;
/** Lakcím utca része */
public String utca;
/** Lakcím város része */
public String város;
/** Lakcím tulajdonosa (lakó) */
public java.sql.Ref tulajdonos;
/** SQL felhasználói típus neve */
private String típus;
/**
SQL felhasználói típusnév lekérdezése.
@return SQL felhasználói típusnév
*/
public String getSQLTypeName() { return típus; }
/**
SQL típus beolvasása.
@param adatok Beolvasási SQL adatfolyam.
@param típus Az olvasott SQL típus neve.
@throws java.sql.SQLException Beolvasáskor fellépett hiba.
*/
public void readSQL( java.sql.SQLInput adatok, String típus )
throws java.sql.SQLException {
this.típus = típus;
ajtó = adatok.readString();
házszám = adatok.readInt();
utca = adatok.readString();
város = adatok.readString();
tulajdonos = adatok.readRef();
}
/**
SQL típus írása.
@param adatok Kiírási SQL adatfolyam.
@throws java.sql.SQLException Kiíráskor fellépett hiba.
*/
public void writeSQL(java.sql.SQLOutput adatok) throws java.sql.SQLException {
adatok.writeString(ajtó);
adatok.writeInt(házszám);
adatok.writeString(utca);
adatok.writeString(város);
adatok.writeRef(tulajdonos);
}
}
/**
Példatípus (személynév) a felhasználói SQL típusok használatának szemléltetésére.
SQL definíciója:
CREATE TYPE TELJESNÉV (
VEZETÉKNÉV VARCHAR(50),
KERESZTNÉV VARCHAR(50)
);
@link.forrásfájl {@docRoot}/../data/jdbc/src JDBCTipusok.java
@see java.sql.SQLData
@since Java 2 Útikalauz programozóknak 1.2
*/
class Teljesnev implements java.sql.SQLData {
/** Vezetéknév */
public String vezetéknév;
/** Keresztnév */
public String keresztnév;
/** SQL felhasználói típus neve */
private String típus;
/**
SQL felhasználói típusnév lekérdezése.
@return SQL felhasználói típusnév
*/
public String getSQLTypeName() { return típus; }
/**
SQL típus beolvasása.
@param adatok Beolvasási SQL adatfolyam.
@param típus Az olvasott SQL típus neve.
@throws java.sql.SQLException Beolvasáskor fellépett hiba.
*/
public void readSQL( java.sql.SQLInput adatok, String típus )
throws java.sql.SQLException {
this.típus = típus;
vezetéknév = adatok.readString();
keresztnév = adatok.readString();
}
/**
SQL típus írása.
@param adatok Kiírási SQL adatfolyam.
@throws java.sql.SQLException Kiíráskor fellépett hiba.
*/
public void writeSQL(java.sql.SQLOutput adatok) throws java.sql.SQLException {
adatok.writeString(vezetéknév);
adatok.writeString(keresztnév);
}
}
/**
Példatípus (személy) a felhasználói SQL típusok használatának szemléltetésére.
SQL definíciója:
CREATE TYPE SZEMÉLY (
NÉV TELJESNÉV,
CÍM REF(LAKHELY),
TELEFON VARCHAR(20),
FOTÓ BLOB
);
@link.forrásfájl {@docRoot}/../data/jdbc/src JDBCTipusok.java
@see java.sql.SQLData
@since Java 2 Útikalauz programozóknak 1.2
*/
class Szemely implements java.sql.SQLData {
/** Személy neve */
public Teljesnev név;
/** Személy címe */
public java.sql.Ref cím;
/** Személy telefonszáma */
public String telefon;
/** Személy fotója */
public java.sql.Blob fotó;
/** SQL felhasználói típus neve */
private String típus;
/**
SQL felhasználói típusnév lekérdezése.
@return SQL felhasználói típusnév
*/
public String getSQLTypeName() { return típus; }
/**
SQL típus beolvasása.
@param adatok Beolvasási SQL adatfolyam.
@param típus Az olvasott SQL típus neve.
@throws java.sql.SQLException Beolvasáskor fellépett hiba.
*/
public void readSQL( java.sql.SQLInput adatok, String típus )
throws java.sql.SQLException {
this.típus = típus;
név = (Teljesnev)adatok.readObject();
cím = adatok.readRef();
telefon = adatok.readString();
fotó = adatok.readBlob();
}
/**
SQL típus írása.
@param adatok Kiírási SQL adatfolyam.
@throws java.sql.SQLException Kiíráskor fellépett hiba.
*/
public void writeSQL(java.sql.SQLOutput adatok) throws java.sql.SQLException {
adatok.writeObject(név);
adatok.writeRef(cím);
adatok.writeString(telefon);
adatok.writeBlob(fotó);
}
}
/**
Példatípus (dolgozó) a felhasználói SQL típusok használatának szemléltetésére.
SQL definíciója:
CREATE TYPE DOLGOZÓ AS OBJECT EXTENDS SZEMÉLY (BÉR PÉNZ);@link.forrásfájl {@docRoot}/../data/jdbc/src JDBCTipusok.java @see java.sql.SQLData @since Java 2 Útikalauz programozóknak 1.2 */ class Dolgozo extends Szemely { /** Dolgozó bére */ public Penz bér; @Override public void readSQL( java.sql.SQLInput adatok, String típus ) throws java.sql.SQLException { super.readSQL(adatok, típus); bér = (Penz)adatok.readObject(); } @Override public void writeSQL(java.sql.SQLOutput adatok) throws java.sql.SQLException { super.writeSQL(adatok); adatok.writeObject(bér); } }