|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
---|---|
Profileable | A class that implements Profileable can be configured in various ways
to alter its behaviour and functionality, and this configuration can be
recorded as a user Profile . |
Class Summary | |
---|---|
Options | A subclass of Options stores various option settings chosen by a
user. |
OptionsAuthoringTool | An authoring tool that creates, loads, and saves OptionsPackage s. |
OptionsGUI | This is a Java Swing-based GUI that extends JPanel and is used to edit an
Options subclass. |
OptionsPackage | An OptionsPackage contains a collection of Options , and
defines a complete configuration of a STANDUP system. |
Profile | A subclass of Profile stores user-specific information for a
corresponding Profileable implementation. |
ProfileManager | The main class that should be used to create, retrieve, and save user profiles. |
ProfileManagerGUI |
Exception Summary | |
---|---|
ProfileException | A very simple subclass of Exception that is specifically for Exceptions arising from within the profiling mechanism. |
This package provides facilities for an arbitrary profileable application to be configurable through user profiles, a collection of files which can be loaded and saved to a specific folder. These profiles contain
Profileable
, Profile
, Options
, and OptionsGUI
interfacesProfileable
: a class that implements Profileable
is a
class that can be configured in various ways to alter its behaviour and/or
functionality, and this configuration can be recorded for a given user.
Additionally, it may also record other user-specific information such as a
record of past actions, counters, etc.
Profile
: for each implementation of Profileable
, there
must be a corresponding Profile
class. An instance of this class contains all information specific to a particular user relating to its corresponding Profileable
, i.e.
Profile
, the latter is stored under an Options
class.
Options
: for each implementation of Profile
, there must be a corresponding Options
class. An instance of this class contains values for all parameters/options that are chosen by the user.
OptionsGUI
: for each subclass of Options
, there must be a corresponding OptionsGUI
class. An instance of this class provides a Java Swing-based GUI that enables a user to alter the various options available in the Options
class.
For example, the Backend
class, which provides joke generation facilities, implements Profileable
, as it is configurable in many ways, e.g. where it gets new jokes from, what type of jokes are to be generated, etc.
To support this, a ProfileJokeGeneration
contains all information specific to a user relating to joke generation. For instance, it contains a user's generated joke log (through ProfileJokeGeneration.getGeneratedJokeLog()
) and favourite jokes (through ProfileJokeGeneration.getFavourites()
).
Furthermore, a standup.joke.ProfileJokeGeneration
also contains a OptionsJokeGeneration
, which stores all user-configurable information, i.e. parameters and options that can be modified by a user. Note that it is possible for an implementation of Profile
to contain nothing but an Options
field.
Finally, a standup.joke.OptionsJokeGeneration
instance is editable through the use of a OptionsGUIJokeGeneration
, a Java Swing-based user interface that provides a means to choose the various options through the use of checkboxes, dialogs, menus, etc.
Within the STANDUP system, there are 3 implementations of Profileable
, along with their support classes. The following table lists them all:
Description | Profileable |
Profile |
Options |
OptionsGUI |
User interface | CloudFrontend |
ProfileCloudFrontend |
OptionsCloudFrontend |
OptionsGUICloudFrontend |
Joke generator | Backend |
ProfileJokeGeneration |
OptionsJokeGeneration |
OptionsGUIJokeGeneration |
Lexicon | LexicalComponents |
ProfileLexicon |
OptionsLexicon |
OptionsGUILexicon |
ProfileManager
ProfileManager
class. All methods in ProfileManager
are static
, so there is never a need to create an instantiation. Instead, it must first be first initialized before it can be used. This is achieved by calling one of the various ProfileManager.initialize
methods.
OptionsPackage
and OptionsAuthoringTool
OptionsPackage
contains a collection of Options
, and defines a complete configuration of a STANDUP system. The STANDUP system may include a collection of pre-defined options packages, e.g. for beginners, intermediate, and advanced users. An OptionsPackage
can be edited by the the OptionsAuthoringTool
, which makes use of the various OptionsGUI
panels.
NOTE: the current implementation of OptionsPackage
is rather hard-coded to include one each of OptionsCloudFrontend
, OptionsJokeGeneration
, and OptionsLexicon
. Given more time, it would have been nice to allow arbitrary collections of Options
implementations...
|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |