WebObjects 5.4.2

com.webobjects.eoapplication
Class EOInterfaceController

java.lang.Object
  extended by com.webobjects.eoapplication.EOController
      extended by com.webobjects.eoapplication.EOComponentController
          extended by com.webobjects.eoapplication.EOArchiveController
              extended by com.webobjects.eoapplication.EOEntityController
                  extended by com.webobjects.eoapplication.EODocumentController
                      extended by com.webobjects.eoapplication.EOInterfaceController
All Implemented Interfaces:
EOAction.Enabling, EOAssociationConnector, EOComponentController.EndEditing, EODocument, EOEditable, EOObjectDisplay, EOObjectDisplayDocument, EOObserving, NSDisposable, NSKeyValueCoding, NSKeyValueCoding.ErrorHandling, NSKeyValueCodingAdditions

public abstract class EOInterfaceController
extends EODocumentController

EOInterfaceController serves as a convenient base class for logic related to the interface of client-side applications. When the WebObjects assistants in Xcode create a new client-side interface file (a nib file edited in Interface Builder), they always create an EOInterfaceController subclass together with the interface file.

In an application constructed in conformance to the Model-View-Controller paradigm, EOInterfaceController plays the role of controller. It has four special outlets (defined in the EOEntityController superclass): Its editingContext, its component, its displayGroup, and its controllerDisplayGroup, all of which you can configure using Interface Builder.

The object identified by component is a JComponent that functions as the view, since it is the main entry point into the user interface. Because an enterprise object must always inhabit an editing context, editingContext and its contents serve as the model. The displayGroup is an EODisplayGroup containing the enterprise objects manipulated by the controller's user interface (which may involve other display groups). The controllerDisplayGroup is a convenience instance containing nothing but the interface controller itself, so you can use associations to bind the controller to user interface widgets.

Unless otherwise specified, the name of the interface file loaded by the interface controller is the same as its class name (without the package name).


Nested Class Summary
 
Nested classes/interfaces inherited from class com.webobjects.eoapplication.EOComponentController
EOComponentController.ActionCollector, EOComponentController.Activation, EOComponentController.EndEditing, EOComponentController.Modal, EOComponentController.ResetUserInterface
 
Nested classes/interfaces inherited from class com.webobjects.eoapplication.EOController
EOController.Enumeration
 
Nested classes/interfaces inherited from interface com.webobjects.foundation.NSKeyValueCodingAdditions
NSKeyValueCodingAdditions.DefaultImplementation, NSKeyValueCodingAdditions.Utility
 
Field Summary
 
Fields inherited from class com.webobjects.eoapplication.EOEntityController
NestedEditingContextProviderMethodName, NewDisplayGroupProviderMethodName, NewDisplayGroupUsingOptimisticRefreshProviderMethodName, NewEditingContextProviderMethodName
 
Fields inherited from class com.webobjects.eoapplication.EOComponentController
Bottom, BottomLeft, BottomRight, Center, Left, Right, Top, TopLeft, TopRight
 
Fields inherited from class com.webobjects.eoapplication.EOController
ControllerAndSubcontrollersEnumeration, ControllerAndSupercontrollersEnumeration, SubcontrollersEnumeration, SupercontrollersEnumeration
 
Fields inherited from interface com.webobjects.eoapplication.EOEditable
AlwaysEditable, IfSupercontrollerEditable, NeverEditable
 
Fields inherited from interface com.webobjects.foundation.NSKeyValueCodingAdditions
KeyPathSeparator
 
Constructor Summary
EOInterfaceController()
          Creates a new interface controller.
EOInterfaceController(EOEditingContext editingContext)
          Creates a new interface controller using the editing context editingContext.
EOInterfaceController(EOEditingContext editingContext, String archiveName)
          Creates a new interface controller using a special interface file name archiveName (usually the interface file name defaults to the class name) and using the editing context editingContext.
EOInterfaceController(EOXMLUnarchiver unarchiver)
          Creates a new interface controller from an EOXMLUnarchiver.
 
Method Summary
 String archiveName()
          Overridden from the superclass to substitute the class name (without package name) of the interface controller as the interface file name unless it was explicitly specified in the constructor.
protected  void generateComponent()
          Overridden from the superclass to raise an IllegalStateException: A interface controller requires an interface file when it prepares its user interface.
 
Methods inherited from class com.webobjects.eoapplication.EODocumentController
canPerformActionNamed, canRedo, canRevert, canSave, canUndo, connectionWasEstablished, defaultActions, deleteSelectedObjects, dispose, editability, handleEditingContextNotification, insertObject, isDocumentForGlobalID, isEditable, isEdited, isRootDocumentController, prepareForNewTask, redo, revert, revertAndMakeInvisible, revertChanges, revertFailed, save, saveAndMakeInvisible, saveChanges, saveFailed, saveIfUserConfirms, saveIfUserConfirms, saveIfUserConfirmsAndMakeInvisible, saveIfUserConfirmsAndMakeInvisible, setEditability, setEdited, supercontrollerEditabilityDidChange, takeResponsibilityForEditabilityOfAssociation, toString, undo, wasEdited
 
Methods inherited from class com.webobjects.eoapplication.EOEntityController
connectionWasBroken, controllerDidLoadArchive, controllerWillLoadArchive, displayGroup, displayGroupProviderMethodName, displayGroupSortOrderings, editingContext, editingContextProviderMethodName, endEditing, entityName, establishConnection, fetchesOnConnect, isFetchesOnConnectEnabled, isRootEntityController, nestedEditingContext, newDataSource, newDisplayGroup, newDisplayGroupUsingOptimisticRefresh, newEditingContext, objectForOutletPath, resetsEditingContextWhenPreparingForNewTask, selectedObject, selectedObjectGlobalID, selectedObjects, selectedObjectsGlobalIDs, setDisplayGroup, setDisplayGroupProviderMethodName, setEditingContext, setEditingContextProviderMethodName, setEntityName, setFetchesOnConnect, setFetchesOnConnectEnabled, setObjectsWithFetchSpecification, setObjectsWithGlobalIDs, setObjectWithGlobalID, setResetsEditingContextWhenPreparingForNewTask, startListeningToDisplayGroup, startListeningToEditingContext, stopListeningToDisplayGroup, stopListeningToEditingContext, takeResposibilityForConnectionOfAssociation
 
Methods inherited from class com.webobjects.eoapplication.EOArchiveController
controllerDisplayGroup, hasControllerDisplayGroup, loadArchive, objectWillChange, prepareComponent, setArchiveName, setControllerDisplayGroup, willChange
 
Methods inherited from class com.webobjects.eoapplication.EOComponentController
activateFirstFocusComponent, addComponentOfSubcontroller, alignsComponents, canBeTransient, canResizeHorizontally, canResizeVertically, component, componentDidBecomeInvisible, componentDidBecomeVisible, defaultComponentSize, ensureMinimumComponentSizeWithoutSubcontrollers, ensureMinimumSubcontrollerAreaSize, firstFocusComponent, handleTakeValueForUnboundKey, hideInSupercontroller, hideSubcontroller, icon, insets, integrationComponent, integrationComponentDidBecomeInvisible, integrationComponentDidBecomeVisible, isComponentPrepared, isRootComponentController, isVisible, label, lastFocusComponent, makeInvisible, makeVisible, minimumComponentSize, minimumComponentSizeWithoutSubcontrollers, minimumIntegrationComponentSize, minimumSubcontrollerAreaSize, prefersIconOnly, removeComponentOfSubcontroller, removeTransientSubcontroller, setAlignsComponents, setCanResizeHorizontally, setCanResizeVertically, setComponent, setDefaultComponentSize, setFirstFocusComponent, setIcon, setInsets, setLabel, setLastFocusComponent, setPrefersIconOnly, setSubcontrollerArea, setToolTip, setUsesHorizontalLayout, setVisible, showInSupercontroller, showSubcontroller, subcontrollerArea, subcontrollerMinimumSizeDidChange, subcontrollerWasAdded, subcontrollerWasRemoved, toolTip, toolTipComponent, usesHorizontalLayout
 
Methods inherited from class com.webobjects.eoapplication.EOController
actionNames, actions, actionWithName, additionalActions, additionalKeyValuePairs, addSubcontroller, breakConnection, breakConnectionToSubcontrollers, canAccessFieldsDirectly, controllerEnumeration, controllersInEnumeration, controllersWithKeyValuePair, controllersWithKeyValuePairs, controllerWithKeyValuePair, controllerWithKeyValuePairs, disableActionNamed, disposableRegistry, disposeIfTransient, enableActionNamed, enabledActions, establishConnectionToSupercontrollers, handleQueryWithUnboundKey, hierarchicalControllerForKey, hierarchicalValueForKey, invokeMethod, isActionNamedEnabled, isAncestorOfController, isConnected, isSupercontrollerOfController, isTransientExplicitlyForbidden, removeFromSupercontroller, removeSubcontroller, resetActions, setAdditionalActions, setAdditionalKeyValuePair, setAdditionalKeyValuePairs, setConnected, setSupercontroller, setTransientExplicitlyForbidden, setTypeName, subcontrollers, supercontroller, supercontroller, takeValueForKey, takeValueForKeyPath, typeName, unableToSetNullForKey, valueForKey, valueForKeyPath
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.webobjects.eoapplication.EOObjectDisplay
controllerDisplayGroup, displayGroup, editingContext, entityName
 

Constructor Detail

EOInterfaceController

public EOInterfaceController()
Creates a new interface controller.


EOInterfaceController

public EOInterfaceController(EOXMLUnarchiver unarchiver)
Creates a new interface controller from an EOXMLUnarchiver.

Parameters:
unarchiver - the unarchiver providing XML attributes.

EOInterfaceController

public EOInterfaceController(EOEditingContext editingContext)
Creates a new interface controller using the editing context editingContext. The editing context is used as substitution editing context when loading the interface file.

Parameters:
editingContext - the editing context for the interface controller

EOInterfaceController

public EOInterfaceController(EOEditingContext editingContext,
                             String archiveName)
Creates a new interface controller using a special interface file name archiveName (usually the interface file name defaults to the class name) and using the editing context editingContext. The editing context is used as substitution editing context when loading the interface file.

Parameters:
editingContext - the editing context for the interface controller
archiveName - the name of the interface file loaded by the interface controller
Method Detail

archiveName

public String archiveName()
Overridden from the superclass to substitute the class name (without package name) of the interface controller as the interface file name unless it was explicitly specified in the constructor.

Overrides:
archiveName in class EOArchiveController
Returns:
the name for the interface file to be loaded

generateComponent

protected void generateComponent()
Overridden from the superclass to raise an IllegalStateException: A interface controller requires an interface file when it prepares its user interface.

Overrides:
generateComponent in class EOComponentController

Last updated June 2008

Copyright © 2000-2008 Apple Inc.