|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
---|---|
PlatformSupport | Central interface for all platform-specific code in DrJava. |
Class Summary | |
---|---|
PlatformFactory | Factory class for accessing the appropriate platform-specific implementation of the PlatformSupport interface. |
This package provides a framework for abstracting platform-specific calls away from the platform-independent DrJava codebase. The main code tree contains platform-independent code to access and execute the platform-specific implementations, which are kept in separate code trees.
The PlatformSupport
interface defines the calls which must be
supported by all platform implementations. DefaultPlatform
provides a platform-independent implementation. For convenience, all platform
implementations extend DefaultPlatform
, inheriting default
implementations for all methods that are not tailored for that platform.
PlatformFactory
is a factory class which contains all logic for
identifying the host platform and instantiating the appropriate
PlatformSupport
implementation. This is performed statically,
and the result is stored as a singleton field for easy access. Client
code can access platform-specific calls like so:
PlatformFactory.ONLY.method()
. PlatformFactory
currently differentiates between Windows, Mac OS X, and the default platform.
Note that in order to reference a new platform implementation, it must already
be compiled and added to the classpath. The current platforms are built
with special ant targets which add the class files to platforms.jar in the
lib directory.
In order to add a new platform-specific feature to DrJava, you must follow these steps:
PlatformSupport
. Make sure it is
properly documented.
DefaultPlatform
. Often
this will be an empty method body. Document why it does what it does (or
doesn't).
|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |