⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 songservices.java

📁 Java的面向对象数据库系统的源代码
💻 JAVA
字号:
package song;// $Id: song.SongServices.java,v 1.1 2002/05/17 08:28:18 per_nyfelt Exp $import org.ozoneDB.*;/** * Aplication singleton for song services. * song.Song services basically encompass application logic relating * to songs -- adding, removing, fetching. * It does stuff like managing the MasterCollection, * and doing case-insensitive indexing. * * @version $Revision: 1.1 $ $Date: 2002/05/17 08:28:18 $ * @author James Stiefel */public class SongServices {    //collection of all songs    private static  SongCollection    allSongs = null;    //the database    private static  OzoneInterface      db = null;    /**     * Initialize the system - establish database connection, etc.     *     */    public static void init(OzoneInterface database)  {        db = database;        try {            //get/create AllSongs collection            try {                allSongs = (SongCollection)db.objectForName("_AllSongs");                //this is where it ends up if not found                if (allSongs == null) {                    System.out.println("init():  _AllSongs collection null. Creating...");                                allSongs = (SongCollection)db.createObject( SongCollectionImpl.class.getName(),                                      OzoneInterface.Public, "_AllSongs");                } else {                    System.out.println("init() allSongs found.");                }            //allSongs not found - create it.            } catch (org.ozoneDB.PermissionDeniedException e) {                System.out.println("init():  _AllSongs collection not found. Creating...");                allSongs = (SongCollection)db.createObject( SongCollectionImpl.class.getName(),                                      OzoneInterface.Public, "_AllSongs");            }        } catch (Exception e) {            System.out.println("init(): Problem getting or creating allSong collection.");            e.printStackTrace();        }    }    /**     * Close down the application -- disconnect from the database, etc.     *     */    public static void term()  {        //close down        allSongs = null;        db = null;    }    /**      * Retrieves the collection of all songs in the system.      *      */    public static SongCollection  getAllSongs() {        return allSongs;    }    /**     * Create a new song.Song in the system. If it can't create a song.Song     * for any reason, it will throw an exception.     *     * @param title the song's title. You best check that it is unique     * before you try. If is already taken, you'll get an exception.     *     * @return A proxy object for the newly created song.Song object.     * @throws java.lang.Exception to signal a problem creating the new song     * (e.g. a song with that title already exists).     */    public static Song createSong(String title) throws Exception {        Song song = null;        try {            song = (Song)db.createObject( SongImpl.class.getName(),                                      OzoneInterface.Public);            song.setTitle(title);            allSongs.addSong(title.toUpperCase(), song);        } catch (Exception e){            System.out.println("createSong(): something went wrong adding to Ozone.");            throw e;        }        return song;    }    /**     * Deletes a song from the database.     * Note that (until garbage collection is implemented),     * any references to that song will be dangling pointers, so use extreme     * caution when deleting a song.Song.     * Be sure you have first eliminated references to it in other objects.     *     * @param title The song's title     *     * @return true if successful. False if not found.     */    public static boolean deleteSong(String title)  {        System.out.println("deleteSong <" + title + ">" );        Song song = allSongs.deleteSong(title.toUpperCase());        return  (song != null);    }    /**     * Get a song.Song from the system by it's title.     *     * @param title The song's title.     *     * @return A proxy object for the requested song.Song object, or null if not found.     */    public static Song songForTitle(String title){        Song song = null;        try {            song = allSongs.findSong(title.toUpperCase());            if (song == null) {                System.out.println("song.Song not found by title <" + title + ">" );            }        } catch (Exception e){            System.out.println("songForHandle(): something went wrong finding song.");            e.printStackTrace();        }        return song;    }    /**     * Get a song.Song from the system by its Handle.     *     * @param handle the user's unique ID     *     * @return A proxy object for the requested song.Song object, or null if not found.     */    public static Song songForHandle(String handle) {        Song song = null;        try {            song = (Song)db.objectForHandle(handle);            if (song == null) {                System.out.println("song.Song not found by handle <" + handle + ">" );            }        } catch (Exception e){            System.out.println("songForHandle(): something went wrong finding song.");            e.printStackTrace();        }        return song;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -