亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dbuser.java

?? Jvie論壇的程序
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
    public String getProperty(String name) {
        return StringUtils.escapeHTMLTags((String)properties.get(name));
    }

    public Enumeration propertyNames() {
        return properties.propertyNames();
    }

    public void setProperty(String name, String value) {
        properties.put(name, value);
        saveProperties();
    }

    public ForumPermissions getPermissions(Authorization authorization) {
        if (authorization.getUserID() == id || id==-1 || id==0) {
            return new ForumPermissions(false,false,false,true,false,false,false,false);
        }
        else {
            return ForumPermissions.none();
        }
    }

    public boolean hasPermission(int type) {
        return true;
    }

    //FROM THE CACHEABLE INTERFACE//

    public int getSize() {
        //Approximate the size of the object in bytes by calculating the size
        //of each field.
        int size = 0;
        size += CacheSizes.sizeOfObject();              //overhead of object
        size += CacheSizes.sizeOfInt();                 //id
        size += CacheSizes.sizeOfString(username);      //username
        size += CacheSizes.sizeOfString(passwordHash);  //password
        size += CacheSizes.sizeOfString(name);          //name
        size += CacheSizes.sizeOfString(email);         //email
        size += CacheSizes.sizeOfBoolean();             //nameVisible
        size += CacheSizes.sizeOfBoolean();             //emailVisible
        size += CacheSizes.sizeOfObject();              //property lock
        size += CacheSizes.sizeOfProperties(properties);//properties object

        return size;
    }

    //OTHER METHODS

    /**
     * Returns a String representation of the User object using the username.
     *
     * @return a String representation of the User object.
     */
    public String toString() {
        return username;
    }

    public int hashCode() {
        return id;
    }

    public boolean equals(Object object) {
        if (this == object) {
            return true;
        }
        if (object != null && object instanceof DbUser) {
            return id == ((DbUser)object).getID();
        }
        else {
            return false;
        }
    }

    /**
     * Loads user properties from the database.
     */
    private void loadProperties() {
        //If "anonymous" or "all users", do nothing.
        if (id == -1 || id == 0) {
            properties = new Properties();
            return;
        }
        //Acquire a lock so that no other property loading or saving can be
        //performed at the same time.
        synchronized(propertyLock) {
            Properties newProps = new Properties();
            Connection con = null;
            PreparedStatement pstmt = null;
            try {
                con = DbConnectionManager.getConnection();
                pstmt = con.prepareStatement(LOAD_PROPERTIES);
                pstmt.setInt(1, id);
                ResultSet rs = pstmt.executeQuery();
                while(rs.next()) {
                    String name = rs.getString("name");
                    String value = rs.getString("propValue");
                    newProps.put(name, value);
                }
            }
            catch( SQLException sqle ) {
                System.err.println("Error in DbUser:loadProperties():" + sqle);
                sqle.printStackTrace();
            }
            finally {
                try {  pstmt.close(); }
                catch (Exception e) { e.printStackTrace(); }
                try {  con.close();   }
                catch (Exception e) { e.printStackTrace(); }
            }
            this.properties = newProps;
        }
    }

    /**
     * Saves user properties to the database.
     */
    private void saveProperties() {
        //If "anonymous" or "all users", do nothing.
        if (id == -1 || id == 0) {
            return;
        }
        //Acquire a lock so that no other property loading or saving can be
        //performed at the same time.
        synchronized(propertyLock) {
            Connection con = null;
            PreparedStatement pstmt = null;
            try {
                con = DbConnectionManager.getConnection();
                //Delete all old values.
                pstmt = con.prepareStatement(DELETE_PROPERTIES);
                pstmt.setInt(1, id);
                pstmt.execute();
                pstmt.close();
                //Now insert new values.
                pstmt = con.prepareStatement(INSERT_PROPERTY);
                Enumeration enum = properties.keys();
                while (enum.hasMoreElements()) {
                    String name = (String)enum.nextElement();
                    String value = (String)properties.get(name);
                    pstmt.setInt(1, id);
                    pstmt.setString(2, name);
                    pstmt.setString(3, value);
                    pstmt.executeUpdate();
                }
            }
            catch( SQLException sqle ) {
                System.err.println(sqle);
            }
            finally {
                try {  pstmt.close(); }
                catch (Exception e) { e.printStackTrace(); }
                try {  con.close();   }
                catch (Exception e) { e.printStackTrace(); }
            }
        }
    }

    /**
     * Load the user data from the database.
     */
    private void loadFromDb() throws UserNotFoundException {
        //If the user is anonymous or "all users", do nothing.
        if (id == -1 || id == 0) {
            return;
        }
        // Otherwise, select user data from User table and fill in relevant fields.
        String query;
        //We may want to do a username lookup.
        if (username != null) {
            query = LOAD_USER_BY_USERNAME;
        }
        //Otherwise, a lookup by id
        else {
            query = LOAD_USER_BY_ID;
        }
        Connection con = null;
        PreparedStatement pstmt = null;
        try {
            con = DbConnectionManager.getConnection();
            pstmt = con.prepareStatement(query);
            if (username != null) {
                pstmt.setString(1, username);
            }
            else {
                pstmt.setInt(1, id);
            }

            ResultSet rs = pstmt.executeQuery();
            if (!rs.next()) {
                throw new UserNotFoundException(
                    "Failed to read user " + id + " from database."
                );
            }
            this.id = rs.getInt("userID");
            this.username = rs.getString("username");
            this.passwordHash = rs.getString("passwordHash");
            this.name = rs.getString("name");
            this.nameVisible = (rs.getInt("nameVisible") == 1);
            this.email = rs.getString("email");
            this.emailVisible = (rs.getInt("emailVisible") == 1);
        }
        catch( SQLException sqle ) {
            throw new UserNotFoundException(
                "Failed to read user " + id + " from database.", sqle
            );
        }
        finally {
            try {  pstmt.close(); }
            catch (Exception e) { e.printStackTrace(); }
            try {  con.close();   }
            catch (Exception e) { e.printStackTrace(); }
        }
    }

    /**
     * Inserts a new user record into the database.
     */
    private void insertIntoDb() {
        Connection con = null;
        PreparedStatement pstmt = null;
        try {
            con = DbConnectionManager.getConnection();
            pstmt = con.prepareStatement(INSERT_USER);
            pstmt.setInt(1, id);
            pstmt.setString(2, username);
            pstmt.setString(3, passwordHash);
            pstmt.setString(4, email);
            pstmt.setInt(5, emailVisible?1:0);
            pstmt.setInt(6, nameVisible?1:0);
            pstmt.executeUpdate();
        }
        catch( SQLException sqle ) {
            System.err.println("Error in DbUser:insertIntoDb()-" + sqle);
            sqle.printStackTrace();
        }
        finally {
            try {  pstmt.close(); }
            catch (Exception e) { e.printStackTrace(); }
            try {  con.close();   }
            catch (Exception e) { e.printStackTrace(); }
        }
    }

    /**
     * Save the user data to the database.
     */
    private void saveToDb() {
        if ( id == -1 || id == 0 ) {
            //"anonymous" or "all users", do nothing
            return;
        }
        Connection con = null;
        PreparedStatement pstmt = null;
        try {
            con = DbConnectionManager.getConnection();
            pstmt = con.prepareStatement(SAVE_USER);
            pstmt.setString(1, passwordHash);
            pstmt.setString(2, email);
            pstmt.setInt(3, emailVisible?1:0);
            pstmt.setString(4, name);
            pstmt.setInt(5, nameVisible?1:0);
            pstmt.setInt(6, id);
            pstmt.executeUpdate();
        }
        catch( SQLException sqle ) {
            System.err.println( "SQLException in DbUser.java:saveToDb(): " + sqle );
            sqle.printStackTrace();
        }
        finally {
            try {  pstmt.close(); }
            catch (Exception e) { e.printStackTrace(); }
            try {  con.close();   }
            catch (Exception e) { e.printStackTrace(); }
        }
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情在线看| 9191成人精品久久| 中文字幕亚洲不卡| 99国产精品99久久久久久| 中文字幕一区二区在线播放| 成人福利视频网站| 亚洲婷婷在线视频| 欧美日韩精品一二三区| 青青草精品视频| 欧美国产一区在线| 色屁屁一区二区| 日本sm残虐另类| 国产午夜精品久久久久久免费视| 成人精品视频.| 亚洲国产另类av| 日韩精品一区二区三区四区| 床上的激情91.| 亚洲va欧美va国产va天堂影院| 日韩精品最新网址| 色综合久久天天| 美女看a上一区| 亚洲免费观看视频| 欧美一区二区成人| 91香蕉国产在线观看软件| 日本成人在线网站| 成人欧美一区二区三区视频网页| 欧美日本在线播放| 成人精品鲁一区一区二区| 亚洲一区免费在线观看| 久久人人97超碰com| 在线观看区一区二| 国产精品综合在线视频| 一区二区三区高清不卡| 国产日韩综合av| 欧美精选在线播放| av一区二区三区四区| 久久国内精品自在自线400部| 亚洲三级免费观看| 精品美女一区二区| 在线视频欧美精品| 成人丝袜高跟foot| 全国精品久久少妇| 亚洲国产精品久久久男人的天堂| 中文无字幕一区二区三区 | 亚洲少妇屁股交4| 日韩欧美一卡二卡| 欧美男女性生活在线直播观看| 懂色av中文字幕一区二区三区| 免费在线一区观看| 一区二区三区加勒比av| 国产精品久久久一本精品| 日韩欧美国产三级| 91精品国模一区二区三区| 日本久久精品电影| 99在线精品免费| 国产精品一二三区| 毛片不卡一区二区| 日产精品久久久久久久性色| 樱花影视一区二区| 中文字幕日本不卡| 中文av一区二区| 欧美韩国日本不卡| 精品国产伦一区二区三区观看体验 | 青青草成人在线观看| 亚洲一区二区三区四区不卡| 亚洲日本韩国一区| 亚洲三级视频在线观看| 国产精品久久久久永久免费观看| 久久久久久免费| www日韩大片| 久久色在线观看| 久久综合av免费| 精品成人一区二区三区四区| 欧美一级生活片| 日韩精品一区二区三区视频播放 | 寂寞少妇一区二区三区| 蜜臀久久99精品久久久画质超高清| 亚洲综合免费观看高清完整版 | 中文字幕色av一区二区三区| 国产亚洲欧美激情| 国产精品免费丝袜| 国产精品初高中害羞小美女文| 国产精品久久久久久久久免费丝袜| 欧美激情艳妇裸体舞| 国产精品拍天天在线| 亚洲免费av在线| 亚洲国产精品一区二区www在线| 亚洲成人资源网| 麻豆高清免费国产一区| 国产九九视频一区二区三区| 丁香六月综合激情| 91一区二区在线观看| 欧美午夜一区二区三区| 7777精品伊人久久久大香线蕉 | 白白色 亚洲乱淫| 91免费看`日韩一区二区| 欧美日韩一级二级三级| 精品乱码亚洲一区二区不卡| 亚洲国产成人私人影院tom| 日韩美女精品在线| 午夜一区二区三区视频| 国产一区二区三区电影在线观看| 成人国产亚洲欧美成人综合网| 日本久久一区二区三区| 日韩午夜激情视频| 久久精品网站免费观看| 一区二区三区在线观看网站| 免费久久精品视频| 国产91精品在线观看| 欧美日韩情趣电影| 久久精品综合网| 亚洲一区二区av在线| 久久精品999| 在线观看av一区| 精品少妇一区二区| 亚洲蜜臀av乱码久久精品| 日本怡春院一区二区| www.久久精品| 欧美一区中文字幕| 中文字幕欧美一区| 麻豆视频观看网址久久| 99亚偷拍自图区亚洲| 日韩一二三区视频| 亚洲欧美另类久久久精品2019| 激情亚洲综合在线| 欧美在线看片a免费观看| 久久精品在线免费观看| 性做久久久久久| 91美女福利视频| 久久精品日产第一区二区三区高清版 | 成人三级伦理片| 欧美一区二区三区男人的天堂| 亚洲欧美在线视频观看| 黄色日韩三级电影| 欧美疯狂性受xxxxx喷水图片| 国产精品女同一区二区三区| 久久aⅴ国产欧美74aaa| 欧美亚洲一区三区| 日韩毛片高清在线播放| 狠狠狠色丁香婷婷综合激情| 欧美三区免费完整视频在线观看| 国产精品丝袜久久久久久app| 裸体一区二区三区| 欧美精品久久一区二区三区| 亚洲色图欧美在线| 99久久99久久综合| 国产精品丝袜91| 国产成人av一区二区三区在线| 69堂国产成人免费视频| 亚洲中国最大av网站| 99精品久久99久久久久| 欧美极品aⅴ影院| 国产成人精品免费在线| 欧美精品一区二区蜜臀亚洲| 日韩av中文字幕一区二区| 欧美日韩一区高清| 亚洲一本大道在线| 欧美视频一区在线观看| 亚洲一区二三区| 欧美日韩在线三区| 亚洲电影第三页| 555夜色666亚洲国产免| 日本亚洲欧美天堂免费| 91麻豆精品国产自产在线| 五月婷婷综合网| 欧美一区二区三区色| 免费成人在线观看| 日韩欧美国产综合| 国产乱人伦偷精品视频不卡| 精品国产91九色蝌蚪| 国产伦精品一区二区三区视频青涩 | 精品久久久久久久久久久院品网 | 天堂成人免费av电影一区| 欧美三级中文字幕| 奇米色一区二区| 日韩欧美激情一区| 激情丁香综合五月| 国产日韩精品一区| 一本大道综合伊人精品热热| 亚洲欧美综合另类在线卡通| 99re8在线精品视频免费播放| 亚洲色图在线播放| 欧美日本国产一区| 精品综合久久久久久8888| 国产丝袜在线精品| 色综合天天视频在线观看| 一区二区三区四区高清精品免费观看| 欧美影视一区二区三区| 美腿丝袜亚洲一区| 亚洲国产精品高清| 91久久精品国产91性色tv| 婷婷激情综合网| 26uuu久久天堂性欧美| 成人aa视频在线观看| 一区二区三区色| 精品福利av导航| 91丝袜高跟美女视频| 美日韩黄色大片| 国产精品欧美久久久久无广告 | www亚洲一区|