|
|||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Class Summary | |
---|---|
Descriptor<T> | Accumulates information about the new dispatcher. |
Factory | Used to create manually new instances of the desired dispatcher. |
PolyD | The main class of PolyD: use the methods of this class to build new dispatchers. |
Utils | A convenience class that implements a few handy utilities. |
Enum Summary | |
---|---|
Missing | The set of possible values for the OnMissing tag. |
Utils.Diff | Used to describe the result of a comparison between two classes or arrays of classes. |
Exception Summary | |
---|---|
DispatcherCreationException | This exception is thrown if an error condition is detected by PolyD during the creation of a new dispatcher. |
MissingMethodException | Thrown if a message with no corresponding method cannot be handled in other ways. |
PolicyException | This exception should be thrown by the policy if an inconsistent set of methods is detected (duplicate methods, for instance, or ambiguities). |
PolyDException | This class of exceptions is thrown by PolyD or its modules, including the dispatching and invocation policies, whenever something goes wrong. |
Error Summary | |
---|---|
InternalError | This error is thrown if an unexpected internal error is detected during the execution of PolyD. |
Provides the core functionalities of PolyD.
PolyD is a pure Java tool that, using dynamic bytecode generation, allows the user to define customized dispatching policies, altering many aspects of message dispatching that are usually predermined and that cannot be easily changed.
In simpler words, using PolyD you can define a set of methods and invoke them according to user-defined criteria. For example, PolyD can be used to implement a visitor-like mechanism, or general multiple dispatching, or more unusual dispatching policies. PolyD makes it possible to personalize many aspects of the dispatching process: the handling of null arguments, of missing methods, of ambiguities, of the method invocation, and so on. In that respect, PolyD is a more general and flexible solution to the "expression problem" than other tools.
PolyD is distributed under the terms of the GNU Lesser General Public License. The use of this library in proprietary programs is therefore allowed under the terms specified by that license.
PolyD
|
|||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |