Difference between revisions of "Package Structure for a reader project"
From RifidiWiki
(→org.rifidi.emualtor.reader.READERNAME.formatter) |
|||
Line 8: | Line 8: | ||
==org.rifidi.emualtor.reader.READERNAME.command.exception== | ==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. | This package contains a file that handles exceptions that occur in the parsing and execution of reader commands. | ||
− | *[[ | + | *[[READERNAME_ExceptionHanlder.java]] |
==org.rifidi.emualtor.reader.READERNAME.commandhandler== | ==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. | 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. | ||
Line 21: | Line 21: | ||
*[[READERNAME_StreamReaderFormatter.java]] | *[[READERNAME_StreamReaderFormatter.java]] | ||
that controls how bytes are read off of and written to the TCPSocket. | that controls how bytes are read off of and written to the TCPSocket. | ||
− | + | ==org.rifidi.emulator.reader.READERNAME.protocol== | |
==org.rifidi.emualtor.reader.READERNAME.module== | ==org.rifidi.emualtor.reader.READERNAME.module== | ||
==org.rifidi.emualtor.reader.READERNAME.tagbuffer== | ==org.rifidi.emualtor.reader.READERNAME.tagbuffer== |
Revision as of 22:44, 30 January 2008
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.
Contents
- 1 org.rifidi.emulator.reader.READERNAME
- 2 org.rifidi.emualtor.reader.READERNAME.command.exception
- 3 org.rifidi.emualtor.reader.READERNAME.commandhandler
- 4 org.rifidi.emualtor.reader.READERNAME.formatter
- 5 org.rifidi.emulator.reader.READERNAME.protocol
- 6 org.rifidi.emualtor.reader.READERNAME.module
- 7 org.rifidi.emualtor.reader.READERNAME.tagbuffer
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.