Package com.partnersoft.core

Fundamental, high-level pattern and infrastructure classes and interfaces.

See:
          Description

Interface Summary
BooleanTest A simple true/false test object.
CommandLineTool A marker interface for command-line tool classes.
Constants A marker interface for classes that define constants.
Identifiable General contract for things that have names, numeric IDs, and UUIDs.
Immutable A marker interface for immutable classes.
Lib A marker interface for function library classes.
Log Standard, class-specific logging facility.
Singleton A marker interface for singleton types.
 

Class Summary
Environment Describes the high-level runtime environment for the system.
LogFactory Standard, class-specific logging facility.
 

Enum Summary
ConfigLevel Level of control for a configuration file or subsystem.
OS An enumeration of Partner-supported operating systems.
 

Package com.partnersoft.core Description

Fundamental, high-level pattern and infrastructure classes and interfaces.

This is the most general package, with no dependencies on anything other than java.lang classes. It is intended to be useful on any Java platform, including J2ME or other small environments. It is also used by our other generic packages like com.partnersoft.data, that cannot depend on e.g. com.partnersoft.system because it would cause a circular dependency.

DO NOT add anything to this package that depends on external jars, anything outside of java.lang, etc.

Classes and interfaces in this package fall into two categories.

"Pattern marker interfaces" are used to indicate that class or subinterface is designed to implement a design pattern, such as those described in the classic book Design Patterns by Gamma, Helm, Johnson, and Vlissides. Examples include Lib, Singleton, and Immutable. While not critical to actual implementation, these markers do help others to understand the role and behavior of classes in the system, and serve to extend the Java language a bit, since it has no formal way to enforce these patterns.

"Generic infrastructure" classes are provided to allow pluggable, platform- or environment-specific implementations of common infrastructures. At present, Log is the only example; it is designed as a wrapper around the actual logging framework so that we don't have to have dependencies on log4j or java.util.logging in our most generic code.

Copyright 2006 Partner Software, Inc.

Version:
$Id: package-info.java 1012 2007-11-24 18:30:02Z paul $
Author:
Paul Reavis, Russell Cagle