Class List for ERExtensions

* or # - Indictates that these might not be used any more.

Principal Class

ERXExtensions
Has a boatload of utility methods as well as sets up the framework. Look in the static initialize() method to see what happens when you link in this framework.

Workarounds/Bugfixes

ERXSharedEOLoader
Java port of Kelly Hawk's shared EO loader. Works around a bug with shared eos and multiple models.

EOF Qualifiers

ERXEOToManyQualifier
Kickass qualifer ;) Really nice when you want to find all the eos that have say five of the ten eos in their toMany relationship.
ERXPrimaryKeyListQualifier
Very useful qualifier for prefetching relationships given a list of primary keys.
ERXQualifierInSubquery
this class can be used to work around the EOF bug where OR queries involving many-to-manies are incorrectly generated
ERXBetweenQualifier
Creates a between qualifier for both sql and in-memory qualification.

Utilities

ERXConfigurationManager
Utility for loading Java property list configurations. Can also control stuff like WOCachingEnabled as well as changing the connection dictionary of all models. Can also be used to swap prototypes in..
ERXCrypto
crypto utilities
ERXSimpleTemplateParser
Will parse templates and resolve key paths off of a given object.
ERXFileNotificationCenter
Useful in developement when you want to be able to reload files at runtime. This is basically a notification center for files.
ERXMacBinarySwissArmyKnife
Useful for extracting files from binhexed files, ie when a Mac user uploads a file.
ERXNumberFormatter
An extension to the simple number formatter that will ignore characters ($%)
ERXTimestampUtility
A simle utility for providing deprecated functionality for NSTimestamps
ERXLocalizer
localization utility
ERXNonPluralFormLocalizer
localitzer for languages that don't have plural forms
ERXCompilerProxy
used for dynamic re-compilation of java files

Log4j Additions

ERXLog4JConfiguration
Configures and manages the log4j logging system. Will also configure the system for rapid turn around, ie when WOCaching is disabled when the conf file changes it will get reloaded.
ERXEOFAppender
log4j Appender used to log events using EOF.
ERXEOFLogEntryInterface
Interface implemented by EnterpriseObjects used for logging events.
ERXPatternLayout
Adds the Application process id as well as the application name as pattern variables.
ERXLog4JConfiguration
WOComponent that can dynamicly re-configure the log4j system (lists all categories).
ERXLogger
Category subclass

JUnit Additions

ERXBatchTestInterface
Used for running a batch of tests.
ERXTestListener
template listner interface.
ERXTestCase
abstract test case
ERXTestResult
extensions to hold multiple errors and failures.
ERXTestRunner
runs tests with ERTestListeners.
ERXWOTestResult
WOComponent display of an ERTestResult.
ERXWOTestInterface
component for ineractively running tests.

Foundation Additions

ERXArrayUtilities
Utility methods for NSArray.
ERXDictionaryUtilities
Utility methods for Dictionary.
ERXStringUtilities
Utility methods for String.
ERXTimestampUtilities
Utility methods for NSTimestamp.
ERXGraphUtilities
Utility methods useful when using GifPlot.
ERXKeyValuePair
Holds one key-value pair, more light-wieght than a dictionary.
ERXMultiKey
Used as a key in a Java hastable to represent a collection of keys.
ERXProperties
Implements propertyList setting on System properties, ie setBooleanForKey.
ERXRetainer
Retainer for Java objects. Useful for pure Java notification observers as this retains them on the objC side fo things.
ERXConstant
Nice set of constants that kept showing up all over the place.
ERXLinlyn
Can upload and download files from ftp servers
ERXSimpleHTMLFormatter
NSFormatter subclass that provides HTML formatting.
ERXCloneableThreadLocal
Used for cloning objects when the thread inherits the thread local
ERXFrameworkPrincipal
Useful for subclasses that need to be the principal class of a framework
ERXThreadStorage
Storage on a per thread basis

EOF Interfaces

ERXGeneratesPrimaryKeyInterface
Implemented by eos if they want to be able to generate their own primary keys.
ERXGuardedObjectInterface
Implemented by eos to give the eo the chance to say that it shouldn't be deleted or edited.

EOF Delegates

ERXDatabaseContextDelegate
Default delegate used to handle database connection failures that the Oracle Adaptor doesn't quite handle correctly. Also handles the case where eos want to generate there own pks.
ERXECNoValidationDelegate
Default editingcontext delegate that has validation turned off.
ERXDefaultEditingContextDelegate
Default editingcontext delegate. Gives eos subclassing ERXGenericRecord a few nice methods willInsert, willUpdate and willDelete. Likewise subclasses of ERXGenericRecord also get didInsert, didUpdate and didDelete.
ERXEditingContextDelegate
Default editing context delegate's superclass.

EOF Additions

ERXEntityClassDescription
Used to throw customizable validation exceptions.
ERXGenericRecord
Extensions of EOGenericRecord. Has alot of really nice convience methods like committedSnapshotValueForKey.
ERXUtilities
More EOUtility-like methods.
ERXTolerantSaver
David Neumann's tolerant editingContext saver.
ERXValidation
Nice cleanup/make-it-look-good for generic validation exceptions.
ERXValidationException
Template based validation exception. Thrown by EREntityClassDescriptions.
ERXValidationFactory
Controls the loading of validation templates. Supports multiple languages. Still a work in progress.
ERXEventRecordingDefaultHandler
Default implementation of event handler interface.
ERXFuzzyMatchCleaner
Generic interface used in conjunction with fuzzy searching abilitiies.
ERXModelGroup
Better handling of prototypes

WOF Interfaces

ERXExceptionHolder
Used to denote if the current WOComponent holds throw exceptions.
ERXMutableUserInfoHolderInterface
Used for WOComponents to have mutable user infos.

WOF Additions

ERXApplication
Extension of WOApplication. Adds some good stuff, like being able to change the apps name, set a time to live and change the adaptor prefix.
ERXDirectAction
Adds support for web-based re-configuration of log4j.
ERXNavigation
Not very generic right now, but will be in the future. Nice for mantaining a stack based navigation system, ie drilling down pushes nav state onto the stack and backing up pops state off the stack.
ERXSession
Extension of WOSession. Adds notifications when awake and sleep occur. Plus adds a fair amount in terms of browser knowledge.
ERXStatelessComponent
Generic stateless component with some useful binding methods.
ERXRequest
Handles language encoding better, fixes a bug in 5.1.3 with localization support
ERXWOForm
Checks wheter it is embedded inside another form, sets "formName" on the context's userInfo
ERXMessageEncoding
Encoding support for UTF and Japanese
ERXWOContext
better support for languages and encoding, adds a per-request storage

Conditional WOComponents

ERXEqualConditional
Given two values will display if they are equal (or can negate).
ERXInstanceOfConditional
Given an object and a class name tests if the object is an instanceof the class.
ERXListContainsItemConditional
Given a list and an object evaluates to true if the object is found in the list.
ERXNonNullConditional
Given an object if it is not null then it will evaluate to true.
ERXNonZeroConditional
Given a condition binding if the condition evaluates to non-zero then the condition will evaluate to true.
ERXOncePerRequestConditional
Renders it's embedded content only once during the RR loop. Useful for JavaScript code or stylesheets that should be included only once

Javascript & DHTML WOComponents

ERXJSCookiesConditional
Javascript implementation to check different cookies.
ERXJSAutoClosePage
Automatically closes via js.
ERXDHTMLComponent
Covers a textarea with a DHTMLEdit control (IE,PC only).
ERXJSFormForTarget
Useful for creating a javascript target for a form submit
ERXJSOpenWindowHyperlink
Given an action opens the action in a new window.
ERXJSOpenWindowSubmitButton
Submit button to open a new window with an action.
ERXJSConfirmPanel
Stateless implementation of JSConfirmPanel.*
ERXJSAutoClosePage
Closes a javascript window.
ERXJSPopUpRelationPicker
Very, very cool js component. Implements master-detail with js in two popups, ie the first popup could be say states and depending on which state is picked the second popup might reflect all of the cities of that state.
ERXJSPopupSelector
Nice guy for performing actions when a popup item is selected.
ERXJSTwoLevelEditToOneRelationship
Uses JSPopUpRelationPicker to edit a toOne relationship.

Misc WOComponents

ERXDebugMarker
Given an object displays a link to show information about the editing context of that object.*
ERXDisplayDataAsString
Displays a byte array of data as a String.
ERXEditURL
Used to edit urls with a default value.
ERXEditingContextInspector
Inspects an eo's editing context.*
ERXBatchNavigationBar
Better navigation bar
ERXBatchNavigationBarInForm
Better navigation bar without a form.
ERXCollapsibleComponentContent
Better collapsible component content.
ERXColoredTabPanel
Tab panel with color backgrounds.
ERXEmptyComponent
Simple component, useful for WOSwitchComponents that shouldn't show anything.
ERXFakeRelationship
UI and support methods to edit "relations" to objects flattened into a text field (e.g. languages = "-de-en-"). Useful when you don't need referential integrity but only a quick place to store flags and the like.
ERXGroupingRepetition
Crazy cool repetition that takes a list and a key and will enumerate through grouped lists.
ERXGroupingTable
Table implementation of a grouping repetition.
ERXImageTabPanel
Tab panel using images.
ERXListDisplay
Useful for displaying a list of eos. Ex. a list of person eos could be displayed as "Fred, Mark and Max".
ERXMandatoryFieldMarker
Displays a mandatory field marker. Extended in look frameworks to provide custom images.
ERXOptionalForm
Given a binding displays the WOComponentContent in a form.
ERXRepeatingTable
Useful when given a list of n items and you want to display m keys. This will construct a table nxm and push the current indexes up though the bindings.
ERXErrorDictionaryPanel
Useful for displaying a dictionary of caught exception messages.
ERXSingleButton
A stand alone submit button to be used as an action button.
ERXStringWithLineBreaks
Displays a String, converting return characters to
tags.
ERXSortOrder
Better sort order changer. Useful for providing custom sort order images and remembering the sort orderings.
ERXSuccess
"Success" string
ERXStyleSheet
Useful for adding style sheet support as well as that oh so wonderful favicon thingy.
ERXGroupingTable
Extension of WOTable. Allows more options.
ERXTableWithBorder
Allows turning the border on and off of a table. Useful for Netscape which doesn't handle nested tables very well.
ERXTabPanel
Better tab panel. Allows denial of tab switching. Useful when validation failures occur.
ERXJSTwoLevelEditToOneRelationship
Ton of additions. Now will handle all sorts of cases. Very useful.
ERXUnreadMarker
Nice for denoting that something has not been viewed. Extended in look frameworks.
ERXDirectActionHyperlink
Cool class in that when it renders the link you can specify the application host url, plus eo serializing.
ERXFixedLengthString
Displays a string padded with spaces at the end if it is not of the fixed length.
ERXGraph
Nice component wrapper around GifPlot, just bind arrays and strings
ERXHyperlinkKeyValueSetter
Sets a key value when the hyperlink is clicked.
ERXMailTo
Displays a mailto link.
ERXPluralString
Given a count and a string pluralizes the string if count > 1.
ERXQueryRecentDates
Nice for adjusting the query specs for dates on a display group.
ERXStringListPicker
Useful for picking a String from a list.
ERXDirectActionImage
description forthcoming!
ERXTable
description forthcoming!
ERXToOneRelationship
description forthcoming!
ERXToManyRelationship
description forthcoming!
ERXLinkRandomizer
simple javascript to go to random links
WOToManyRelationship
Only useful in that it uses ERXRadioButtonMatrix and ERCheckboxMatrix components.
ERXLocalizedString
localized string class with many options
ERXCheckboxMatrix
Works around a webscript bug.
ERXRadioButtonMatrix
Works around a webscript bug.

Backport from WOExtensions

WOSortOrder
(Back port from WO 5 WOExtensions)
WOCollapsibleComponentContent
(Back port from WO 5 WOExtensions)
WOToManyRelationship
(Back port from WO 5 WOExtensions)
WOToOneRelationship
(Back port from WO 5 WOExtensions)
WOTable
(Back port from WO 5 WOExtensions)