Package gnu.dtools.ritopt
Class NotifyOption
- java.lang.Object
-
- gnu.dtools.ritopt.Option
-
- gnu.dtools.ritopt.NotifyOption
-
- All Implemented Interfaces:
OptionModifiable
,OptionNotifier
public class NotifyOption extends Option implements OptionNotifier
The NotifyOption class is used to register options that when invoked notify a listener. This provides an interface for event-driven options processing. In order for a class to be notified, it must implement the OptionListener interface.When the option is invoked, the corresponding short, long, and option values are put in an OptionEvent object, and passed to all registered listeners.
A class must implement the OptionListener interface in order to receive notification of option events.
For a more detailed explanation please refer to the tutorial. The following is a simple example of how a NotifyOption is used.
import gnu.dtools.ritopt.*; public class TellMe implements OptionListener { public static void main( String args[] ) { TellMe m = new TellMe(); Options processor = new Options(); NotifyOption say = new NotifyOption( m ); processor.register( "say", 's', say ); processor.process(); } public void optionInvoked( OptionEvent e ) { if ( e.getCommand().equals( "say" ) ) { String say = e.getValue(); if ( Utility.trim( say ).length() == 0 ) say = "nothing"; System.err.println( "You told me to say " + nothing + "." ); } } } cookies@crazymonster$ javac TellMe.java cookies@crazymonster$ java TellMe cookies@crazymonster$ java TellMe cookies@crazymonster$ java TellMe --say -s You told me to say nothing. You told me to say nothing. cookies@crazymonster$ java TellMe --say hello You told me to say hello. cookies@crazymonster$ java TellMe --say "I'm sorry" You told me to say I'm sorry. cookies@crazymonster$ java TellMe --say="not until tomorrow" -s "I'm crazy" You told me to say not until tomorrow. You told me to say I'm crazy.
Copyright (C) Damian Ryan Eads, 2001. All Rights Reserved. ritopt is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. ritopt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with ritopt; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
Field Summary
-
Fields inherited from class gnu.dtools.ritopt.Option
DEFAULT_FILE_COMMENT_SIZE, DEFAULT_FILE_COMPLETE_OPTION_SIZE, DEFAULT_HELP_DEPRECATED_SIZE, DEFAULT_HELP_DESCRIPTION_SIZE, DEFAULT_HELP_OPTION_SIZE, DEFAULT_HELP_TYPENAME_SIZE, DEFAULT_MENU_DEPRECATED_SIZE, DEFAULT_MENU_DESCRIPTION_SIZE, DEFAULT_MENU_OPTION_SIZE, DEFAULT_MENU_TYPENAME_SIZE, invoked
-
-
Constructor Summary
Constructors Constructor Description NotifyOption()
Construct a NotifyOption with an empty list of listeners.NotifyOption(NotifyOption op)
Construct a NotifyOption by copying the NotifyOption passed.NotifyOption(OptionListener listener)
Construct a NotifyOption and register the passed listener.NotifyOption(OptionListener listener, java.lang.String command)
Construct a NotifyOption and register the passed listener.NotifyOption(OptionListener listener, java.lang.String command, java.lang.String value)
Construct a NotifyOption and register the passed listener.NotifyOption(java.lang.String value)
Construct a NotifyOption, and initialize its default value to the value passed.NotifyOption(java.lang.String value, char shortOption)
Constructs a character option initialized with the value and short option passed.NotifyOption(java.lang.String value, java.lang.String longOption)
Constructs a NotifyOption option initialized with the value and long option passed.NotifyOption(java.lang.String value, java.lang.String longOption, char shortOption)
Constructs an NotifyOption option initialized with the value, short and long option passed.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addOptionListener(OptionListener listener)
Adds an OptionListener to the notification list.java.lang.Object
getObject()
Return the value as an object.java.lang.String
getStringValue()
Return this option as a string.java.lang.String
getTypeName()
Returns the type name of this option.java.lang.String
getValue()
Return this option as a string.void
modify(java.lang.String value)
Modify this option based on a string representation.void
removeOptionListener(OptionListener listener)
Removes an OptionListener from the notification list.void
setOptionCommand(java.lang.String command)
Sets the command sent when an option is invoked.void
setValue(java.lang.String value)
Modify this option based on a string representation.java.lang.String
toString()
Returns a string representation of this object.-
Methods inherited from class gnu.dtools.ritopt.Option
action, deprecate, getDescription, getFileCommentSize, getFileCompleteOptionSize, getHashKey, getHashKey, getHashKey, getHashKey, getHelp, getHelpDeprecated, getHelpDeprecatedSize, getHelpDescription, getHelpDescriptionSize, getHelpHeader, getHelpOptionSpecification, getHelpOptionSpecificationSize, getHelpTypeName, getHelpTypenameSize, getLongOption, getMenuDeprecatedSize, getMenuDescriptionSize, getMenuOptionSpecificationSize, getMenuTypenameSize, getName, getOptionFileLine, getShortOption, isDeprecated, isInvoked, setDeprecated, setDescription, setFileCommentSize, setFileCompleteOptionSize, setHelpDeprecatedSize, setHelpDescriptionSize, setHelpOptionSpecificationSize, setHelpTypenameSize, setInvoked, setKey, setKey, setLongOption, setMenuDeprecatedSize, setMenuDescriptionSize, setMenuOptionSpecificationSize, setMenuTypenameSize, setShortOption
-
-
-
-
Constructor Detail
-
NotifyOption
public NotifyOption()
Construct a NotifyOption with an empty list of listeners. Set the initial value to null.
-
NotifyOption
public NotifyOption(OptionListener listener)
Construct a NotifyOption and register the passed listener.- Parameters:
listener
- The listener to register.
-
NotifyOption
public NotifyOption(OptionListener listener, java.lang.String command)
Construct a NotifyOption and register the passed listener. Initialize the command to the value passed.- Parameters:
listener
- The listener to register.command
- The value of the command.
-
NotifyOption
public NotifyOption(OptionListener listener, java.lang.String command, java.lang.String value)
Construct a NotifyOption and register the passed listener. Initialize the command to the value passed.- Parameters:
listener
- The listener to register.command
- The value of the command.value
- The default value of the option.
-
NotifyOption
public NotifyOption(NotifyOption op)
Construct a NotifyOption by copying the NotifyOption passed.- Parameters:
op
- The notify option to copy.
-
NotifyOption
public NotifyOption(java.lang.String value)
Construct a NotifyOption, and initialize its default value to the value passed.- Parameters:
value
- The default value of this option.
-
NotifyOption
public NotifyOption(java.lang.String value, java.lang.String longOption)
Constructs a NotifyOption option initialized with the value and long option passed.- Parameters:
value
- The initial value of this notify option.longOption
- The long option associated with this notify option.
-
NotifyOption
public NotifyOption(java.lang.String value, char shortOption)
Constructs a character option initialized with the value and short option passed.- Parameters:
value
- The initial value of this NotifyOption option.shortOption
- The short option associated with this option.
-
NotifyOption
public NotifyOption(java.lang.String value, java.lang.String longOption, char shortOption)
Constructs an NotifyOption option initialized with the value, short and long option passed.- Parameters:
shortOption
- The short option associated with this option.longOption
- The long option associated with this option.value
- The initial value of this NotifyOption option.
-
-
Method Detail
-
getObject
public java.lang.Object getObject()
Return the value as an object.
-
modify
public void modify(java.lang.String value) throws OptionModificationException
Modify this option based on a string representation.- Specified by:
modify
in interfaceOptionModifiable
- Parameters:
value
- String representation of the object.- Throws:
OptionModificationException
- Thrown if an error occurs during modification of an option.
-
setValue
public void setValue(java.lang.String value) throws OptionModificationException
Modify this option based on a string representation.- Parameters:
value
- String representation of the object.- Throws:
OptionModificationException
- Thrown if an error occurs during modification of an option.
-
getValue
public java.lang.String getValue()
Return this option as a string.- Returns:
- This option as a string.
-
getStringValue
public java.lang.String getStringValue()
Return this option as a string.- Specified by:
getStringValue
in classOption
- Returns:
- This option as a string.
-
getTypeName
public java.lang.String getTypeName()
Returns the type name of this option. For an NotifyOption, "NOTIFY" is returned.- Specified by:
getTypeName
in classOption
- Returns:
- The type name of this option.
-
addOptionListener
public void addOptionListener(OptionListener listener)
Adds an OptionListener to the notification list.- Specified by:
addOptionListener
in interfaceOptionNotifier
- Parameters:
listener
- The OptionListener to add.
-
removeOptionListener
public void removeOptionListener(OptionListener listener)
Removes an OptionListener from the notification list.- Specified by:
removeOptionListener
in interfaceOptionNotifier
- Parameters:
listener
- The OptionListener to remove.
-
setOptionCommand
public void setOptionCommand(java.lang.String command)
Sets the command sent when an option is invoked.- Specified by:
setOptionCommand
in interfaceOptionNotifier
- Parameters:
command
- The command to send.
-
toString
public java.lang.String toString()
Returns a string representation of this object.- Overrides:
toString
in classjava.lang.Object
- Returns:
- A string representation of this object.
-
-