Package Structure for a reader project

From RifidiWiki

Revision as of 22:43, 30 January 2008 by Kyle (Talk | contribs)

Jump to: navigation, search


Please refer to this document to figure out how to create a new reader project in eclipse

This page enumerates the very basic packages that a reader will need to have and the important files in each one. Complex readers will have more packages than these, but this is a bare minimum. These packages correspond with what you will need to program in stage 2 of reader creation.

org.rifidi.emulator.reader.READERNAME

This package just contains the osgi activator. It should be created for you automatically when you create the project. You shouldn't have to modify it.

org.rifidi.emualtor.reader.READERNAME.command.exception

This package contains a file that handles exceptions that occur in the parsing and execution of reader commands.

org.rifidi.emualtor.reader.READERNAME.commandhandler

This package contains one or more files that handle incoming reader messages. Normally commands can be divided into general categories. For example, with the LLRP reader, there are a set of commands that deal with ROSPec messages (such as ADD_ROSPEC, ENABLE_ROSPEC, etc.) and a separate set of commands that deal with AccessSpec messages (such as ADD_ACCESSSPEC, ENABLE_ACCESSSPEC). So for the LLRP reader, there is one file called 'LLRPReaderOperationControl.java' that contains the handler methods for ROSpec commands and a file called 'LLRPAccessControl.java' that contains the handler methods for AccessSpec commands.

org.rifidi.emualtor.reader.READERNAME.formatter

Any kind of formatters used should go into this package. You will definitely need a formatter that handles the parsing of incoming and outgoing commands called

But you may also need formatters such as

that handles how incoming and outgoing messages should look in the log file. Another useful formatter that may be necessary is

that controls how bytes are read off of and written to the TCPSocket.

org.rifidi.emualtor.reader.READERNAME.module

org.rifidi.emualtor.reader.READERNAME.tagbuffer

Personal tools