Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

jreceiver.client.* (115)jreceiver.common.* (181)jreceiver.j2me.* (87)jreceiver.server.* (175)
jreceiver.util.* (25)

Package Samples:

jreceiver.common.rec.util: A set of beans and interfaces, each of which represents a concise data object used in JReceiver .  
jreceiver.common.rpc.xmlrpc: A set of wrapper classes to remotely query and control the JReceiver Engine.  
jreceiver.client.common.servlet
jreceiver.client.common.struts
jreceiver.client.common.taglibs
jreceiver.client.common
jreceiver.client.mgr.rpc.xmlrpc
jreceiver.client.mgr.rpc
jreceiver.client.mgr.struts
jreceiver.client.mgr
jreceiver.client.redrat.rpc.xmlrpc
jreceiver.client.redrat.rpc
jreceiver.client.redrat
jreceiver.client.rio.hack
jreceiver.client.rio.rpc.xmlrpc
jreceiver.client.rio.rpc
jreceiver.client.rio.servlet
jreceiver.client.rio.status
jreceiver.client.rio
jreceiver.common.callback.rec

Classes:

Menus: Menu-related queries and updates for a (possibly-remote) JRec server, returning MenuRecs or String-formatted results. TUNE QUERIES A 'tune query' is a shorthand means of specifying a filter. For example, to obtain a list of albums for an artist: Menus mnu_rpc = RpcFactory.newMenus(); TuneQuery tq = new TuneQuery(); tq.setArtistName("Pink Floyd"); Vector albums = mnu_rpc.getAlbumMenuRecs(tq, driver_id, 0, Menu.NO_LIMIT); Iterator it = albums.iterator(); while (it.hasNext()) { Menu menu = (Menu)it.next(); System.out.println("album_name=" + menu.getMenuText() + " tune_count=" + menu.getTuneCount()); ...
Menus: Menu-related queries and updates for a (possibly-remote) JRec server, returning MenuRecs or String-formatted results. TUNE QUERIES A 'tune query' is a shorthand means of specifying a filter. For example, to obtain a list of albums for an artist: Menus mnu_rpc = RpcFactory.newMenus(); TuneQuery tq = new TuneQuery(); tq.setArtistName("Pink Floyd"); Vector albums = mnu_rpc.getAlbumMenuRecs(tq, driver_id, 0, Menu.NO_LIMIT); Iterator it = albums.iterator(); while (it.hasNext()) { Menu menu = (Menu)it.next(); System.out.println("album_name=" + menu.getMenuText() + " tune_count=" + menu.getTuneCount()); ...
MessageFormatB: A mirror of the MessageFormat class for encoding byte arrays. As with MessageFormat, arguments may be in any order. Unlike MessageFormat, you may use more than ten (10) arguments and may use each more than once in the format string. String example: String pattern = "{0}{1,string}{2,string,pp}{3,string,zt}{4,pp,UTF-8}"; MessageFormatB mfb = new MessageFormatB(pattern); Object[] objs = { "foo", "foo", "bar", "baz", "buzz" }; byte[] = mfb.format(objs); The above pattern will format all its arguments as Strings using the StringFormatB() formatter and output as an array of bytes. All objects will be ...
RioHostResults: Servlet answering 'result' requests from Rio Server. Called by the Rio Receiver to retrieve tune fileids and titles (if text) TEXT RESPONSE A request for text will be made with the "_extended=1" option. All other responses will be in binary -- see below. A text request like http://...:12078/results?artist=&_extended=1 will return results for all known artists with song titles as 160=TAll Of A Sudden (It's Too Late) 1c0=TBall And Chain 180=TEnglish Roundabout 1f0=TFly On The Wall 120=TIt's Nearly Africa 1d0=TSenses Working Overtime The same goes if you replace 'artist' with 'title', 'source'(album) ...
WordFormatB: Formatter to output an object in 4 bytes. Implementation presently assumes 4-byte integers. Word example: String pattern = "{0,word}{1,word,be}{2,word,le}"; MessageFormatB mfb = new MessageFormatB(pattern); Object[] objs = { new Integer(0xAABBCCDD), new Integer(0xAABBCCDD), new Integer(0xAABBCCDD) }; byte[] = mfb.format(objs); {0,word} encoded as a 4-byte word using the default big-endian (Mac) order (result = AA BB CC DD) {1,word,be} same as {0} {2,word,le} encoded as a 4-byte word using the little-endian (Intel) order (result = DD CC BB AA) There are two byte orders available for formatting words: ...
PageNavigationTag: JSP Tag pageNavigation , used to display an array of page numbers to traverse a large set of data. Required attributes are total_pages and page_no . url_pattern is optional and defaults to page{0}.html which produces page1.html, page2.html, etc. It uses a MessageFormat pattern where {0} is replaced by the page number (pageNo) and {1} is replaced by the page count (totalPages). Example of default output for page numbers 1 through 16: > > > > > > > > > > > > > > > > Example usage:
PlaylistWriterASX: Write a ASX playlist <ASX version="3.0"> <ABSTRACT>This is a sample asx file used as playlist</ABSTRACT> <TITLE>Windows Media Playlist Demo</TITLE> <AUTHOR>Reed Esau</AUTHOR> <COPYRIGHT>2002 Reed Esau</COPYRIGHT> <ENTRY> <REF href="File1.asf" /> <ABSTRACT>Link to a local file on the same folder</ABSTRACT> </ENTRY> <ENTRY> <REF href="mms://media.phm.lu/File2.asf" /> <ABSTRACT>a file streamed from a media server on the network</ABSTRACT> </ENTRY> <ENTRY> <REF href="File3.mp3" ...
StringFormatB: Formatter to output an object as a String Example: String pattern = "{0}{1,string}{2,string,pp}{3,string,zt}{4,pp,UTF-8}"; MessageFormatB mfb = new MessageFormatB(pattern); Object[] objs = { "foo", "foo", "bar", "baz", "buzz" }; byte[] = mfb.format(objs); The above pattern will format all its arguments as Strings using the StringFormatB() formatter and output as an array of bytes. All objects will be coerced to strings using their toString() methods. {0} stored in byte array as "foo" using the default encoding (3 bytes) {1,string} same as {0} {2,string,pp} "bar" is stored with default encoding ...
RioHostTags: Servlet answering 'tags' requests from Rio Server. Called by the server (via the service method) to allow a servlet to handle a GET request. Some sample URLs: http://.../tags It is asking for a simple list of available tags: fid title artist source year comment length type path genre bitrate playlist codec offset duration tracknr If it asks for the special 0x100 file id... http://.../tags/100 where '100' is a hex number representing the fileid for the default playlist, which consists of all tracks. Send back a description of that "All Tracks" playlist. Otherwise it will ask for tag info for a specific ...
RioHostContent: Servlet answering 'content' requests from Rio Server. Called by the Rio Receiver to retrieve an audio file or playlist. A URL that looks like this http://.../content/2b0 retrieves "audio/mpeg" data for file id 2b0 if that file is an audio file (aka 'tune'). The following retrieves a playlist (fileid = 470) http://.../content/470?_extended=1 in the format 1b0=TDesire (Hollywood Remix)\n 150=TMysterious Ways (Solar Plexus\n where the file id is in hex and the 'T' stands for tune. To request ALL playlists requests on the special "100" file id is used: http://.../content/100?_extended=1 with a reply ...
RioHostQuery: Servlet supporting 'query' requests from Rio Server. This can be thought of as a protocol converter. Called by the server (via the service method) to allow a servlet to handle a GET request. http://.../query?artist= http://.../query?source= (refers to album) http://.../query?artist=XTC http://.../query?genre=Jazz Or, if the user hits the "Search" button on the remote: _end=2&title&_begin=0 return the first three titles. Another example: _end=2&title=[5jkl][5jkl][4ghi]&_begin=0 return the first three records matching the regular expression "[5jkl][5jkl][4ghi]".
RioHostLayout: Servlet answering 'layout' requests from Rio Server. I18N this class Return localized text strings describing what to put on the Rio Receiver display. The URL looks like this http://.../layout/en_UK/index where en_UK is the locale for which strings are requested. The response looks like this: /layout/en_UK/all_info=All Info *SUPPORTED* /layout/en_UK/remaining=Remaining Time /layout/en_UK/scope=Scope View /layout/en_UK/inverse_scope=Inverse Scope /layout/en_UK/big_title=Big Title
RioLauncher: launches background daemons to interact with the Rio Receiver RioSSDP - listens for queries from Rio for server address and port RioStatus - queries all known Rio Receivers for status every couple of seconds on their 18678 ports All settings are loaded from database using the following keys and defaults: hardware/rio/ssdp_port = 21075 hardware/rio/mserve_port = 8080 hardware/rio/mserve_host = "" blank to get host from Java hardware/rio/status_port = 18678
BaseSettingCache: A cache of settings for a particular set of user credentials. Threadsafe. Subclasses will typically implement as a singleton if there is only a single set of user credentials for settings within this VM. When there are multiple user credentials (as in the case of the manager app where each user has their own 'theme') do NOT subclass as a singleton. Instead, subclass normally and create a second class -- a manager by deriving another class from BaseSettingManager. Implement that as a singleton.
RioStatusRec: Rio Status events will be produced when the Rio Status daemon hears a message from a Rio on the network. Listeners will typically include the following devices Servlet - which will display the status of all known Rio Servers on a webpage The Rio Status Event will include MAC: 00:90:00:11:3f:ae Playing: 111 (hexadecimal src_id) State: Playing Timecode: 27010 (milliseconds into song) TODO: include the IP address of the receiver as well.
PlaylistWriterPLS: Write a PLS playlist [playlist] File1=Blues\Muddy Waters - Rollin Stone.mp3 Title1=Various Artists - Muddy Waters - Rollin' Stone Length1=188 File2=Classical\Carmina Burana - O Fortuna.mp3 Title2=Carmina Burana - O Fortuna Length2=154 File3=Classical\Champagne Polka - Johann Strauss.mp3 Title3=Champagne Polka - Johann Strauss Length3=153 File4=Classical\Immortal Beloved, Fur Elise.mp3 Title4=Unknown Artist - Fur Elise Length4=172 NumberOfEntries=4 Version=2
ScannerDaemon: Daemon to scan the root folders for audio files and update the database. Report status to listeners. synchronize database with audio files on disk For each dir in path: get list of files from db get list of files from disk update records where file exists and where date is newer delete records where file is missing add records for new files Runs as a background worker thread. Provides progress messages via XML-RPC.
LauncherException: The remote client exception class for the JReceiver project. Used with XML-RPC and possibly other protocols as well. This is the beginnings of the application of a Java Idiom found at http://c2.com/cgi/wiki?HomogenizeExceptions See also at http://c2.com/cgi/wiki?NestedExceptions Create a single type of exception for each package and only propagate exceptions of that type or some sub-type out of methods in the package.
RpcException: The remote client exception class for the JReceiver project. Used with XML-RPC and possibly other protocols as well. This is the beginnings of the application of a Java Idiom found at http://c2.com/cgi/wiki?HomogenizeExceptions See also at http://c2.com/cgi/wiki?NestedExceptions Create a single type of exception for each package and only propagate exceptions of that type or some sub-type out of methods in the package.
RpcException: The remote client exception class for the JReceiver project. Used with XML-RPC and possibly other protocols as well. This is the beginnings of the application of a Java Idiom found at http://c2.com/cgi/wiki?HomogenizeExceptions See also at http://c2.com/cgi/wiki?NestedExceptions Create a single type of exception for each package and only propagate exceptions of that type or some sub-type out of methods in the package.
RioHostList: Servlet answering 'list' requests from Rio Server. Return binary srcid-filesize binary records describing a playlist or single audio file. Note that the srcid is always specified in hexadecimal. There's a special 0x100 list query. It looks like http://.../list/100?shuffle=0 and produces a shuffled or unshuffled list of the tunes for the first ALBUM, again using the srcid-filesize binary record format.
MusicInputStreamFactory: This provides support for getting MusicInputStream objects. It stores them and then returns the correct object at a later date. It can store multiple MusicInputStream objects for a single URL -- think multiple players playing the same stream. It serves up the object that has a correct offset. This is not quite the optimal strategy -- it probably ought to preferentially return the stream where the requested offset is at the 'end'.
BusException: The server business logic layer exception class for the JReceiver project. This is the beginnings of the application of a Java Idiom found at http://c2.com/cgi/wiki?HomogenizeExceptions See also at http://c2.com/cgi/wiki?NestedExceptions Create a single type of exception for each package and only propagate exceptions of that type or some sub-type out of methods in the package.
PlaylistWriterM3U: Write a M3U playlist #EXTM3U #EXTINF:188,Various Artists - Muddy Waters - Rollin' Stone Blues\Muddy Waters - Rollin Stone.mp3 #EXTINF:154,Carmina Burana - O Fortuna Classical\Carmina Burana - O Fortuna.mp3 #EXTINF:153,Champagne Polka - Johann Strauss Classical\Champagne Polka - Johann Strauss.mp3 #EXTINF:172,Unknown Artist - Fur Elise Classical\Immortal Beloved, Fur Elise.mp3
RoleAuthIsAuthorizedTag: JSP Tag isAuthorized , used to determine whether the user has authorization to access the handler/method. Example usage: <jrclient:isAuthorized handler="Playlists" method="getRecs"> <b>Do I have access?</b> </jrclient:isAuthorized> TODO: should the user be cached in the RoleAuthBean??? Adapted from JSTL's Request tag.

Home | Contact Us | Privacy Policy | Terms of Service