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); } }