Project Wonder 5.0

er.extensions.components
Class ERXGroupingRepetition

java.lang.Object
  extended by com.webobjects.appserver.WOElement
      extended by com.webobjects.appserver.WOComponent
          extended by er.extensions.components.ERXComponent
              extended by er.extensions.components.ERXNonSynchronizingComponent
                  extended by er.extensions.components.ERXStatelessComponent
                      extended by er.extensions.components.ERXGroupingRepetition
All Implemented Interfaces:
com.webobjects.appserver.WOActionResults, com.webobjects.foundation.NSKeyValueCoding, com.webobjects.foundation.NSKeyValueCoding.ErrorHandling, com.webobjects.foundation.NSKeyValueCodingAdditions, com.webobjects.foundation.NSValidation, java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
ERXGroupingTable

public class ERXGroupingRepetition
extends ERXStatelessComponent

Groups items into sections.For example: Employees belong to a department, you want to group on department. So the parent will need to consist of something like:

 
 [erxgroupingrepetition]
 [wostring value=currentDepartment.name] 
 [worepetition list=currentEmployees item=currentEmployee] 
    [wostring value=currentEmployees.firstName] 
 [/worepetition] 
 [/erxgroupingrepetition]
 
 
and then you'd set up the bindings of the grouping repetition like:
 
 list=allEmployees : list of employees to group
 item=currentEmployee : will be set so the next key can get evaluated
 sectionForItem=departmentForCurrentEmployee : a method in the parent that returns sth like currentEmployee.department()
 sectionKey="name" : assuming department has a name, but can be unbound; note that you can group on "city", too!
 subListSection=currentDepartment : instance variable in the parent that will get set to the current department
 subList=currentEmployees : instance variable in the parent that will get set to the employees of the current department
 sortKey="@sortAsc.name" : sorts the department list by name
 
 
If a user could belong to many departments, you could either set the splitArrays binding to true, in which case the sections would be all the departments and the user would be added in each section he belongs or you could leave it out. Then the sections will be each combination of departments a user belongs to. Please see the page BugsPerUser.wo from the BugTracker application to find another example on how to use it.

See Also:
Serialized Form
Bindings
list list of objects to group
           
item current item, will get pushed to the parent, so that it can evaluate sectionForItem
           
sectionForItem value pulled from the parent, after "item" gets pushed
           
sectionKey key to group departments on (usually primaryKey or hashCode)
           
subListSection will get set to the current section
           
subList will get set to the grouped items for the section
           
sortKey optional key for sorting the group list (sth like '@sortAsc.name')
           
splitArrays optional boolean specifying if array keys are regarded as distinct keys
           
ignoreNulls optional boolean specifying if nulls are ignored
           

Nested Class Summary
 
Nested classes/interfaces inherited from class com.webobjects.appserver.WOComponent
com.webobjects.appserver.WOComponent._EventLoggingEnabler, com.webobjects.appserver.WOComponent.Event
 
Nested classes/interfaces inherited from interface com.webobjects.foundation.NSKeyValueCodingAdditions
com.webobjects.foundation.NSKeyValueCodingAdditions.DefaultImplementation, com.webobjects.foundation.NSKeyValueCodingAdditions.Utility
 
Nested classes/interfaces inherited from interface com.webobjects.foundation.NSKeyValueCoding
com.webobjects.foundation.NSKeyValueCoding._BooleanFieldBinding, com.webobjects.foundation.NSKeyValueCoding._BooleanMethodBinding, com.webobjects.foundation.NSKeyValueCoding._FieldBinding, com.webobjects.foundation.NSKeyValueCoding._ForwardingBinding, com.webobjects.foundation.NSKeyValueCoding._KeyBinding, com.webobjects.foundation.NSKeyValueCoding._KeyBindingCreation, com.webobjects.foundation.NSKeyValueCoding._MethodBinding, com.webobjects.foundation.NSKeyValueCoding._NumberFieldBinding, com.webobjects.foundation.NSKeyValueCoding._NumberMethodBinding, com.webobjects.foundation.NSKeyValueCoding._ReflectionKeyBindingCreation, com.webobjects.foundation.NSKeyValueCoding.ErrorHandling, com.webobjects.foundation.NSKeyValueCoding.Null, com.webobjects.foundation.NSKeyValueCoding.UnknownKeyException, com.webobjects.foundation.NSKeyValueCoding.ValueAccessor
 
Nested classes/interfaces inherited from interface com.webobjects.foundation.NSValidation
com.webobjects.foundation.NSValidation._MethodBinding, com.webobjects.foundation.NSValidation._ValidationBinding, com.webobjects.foundation.NSValidation.DefaultImplementation, com.webobjects.foundation.NSValidation.Utility, com.webobjects.foundation.NSValidation.ValidationException
 
Field Summary
static org.apache.log4j.Logger log
          logging support
 
Fields inherited from class er.extensions.components.ERXComponent
_dynamicBindings
 
Fields inherited from class com.webobjects.appserver.WOComponent
_Extension, _IsEventLoggingEnabled, _keyAssociations
 
Fields inherited from interface com.webobjects.foundation.NSKeyValueCoding.ErrorHandling
_CLASS
 
Fields inherited from interface com.webobjects.foundation.NSKeyValueCodingAdditions
_CLASS, _KeyPathSeparatorChar, KeyPathSeparator
 
Fields inherited from interface com.webobjects.foundation.NSKeyValueCoding
NullValue
 
Fields inherited from interface com.webobjects.foundation.NSValidation
_CLASS
 
Constructor Summary
ERXGroupingRepetition(com.webobjects.appserver.WOContext aContext)
           
 
Method Summary
 void reset()
           
 java.lang.Object sectionItem()
           
 java.lang.String sectionKey()
           
 com.webobjects.foundation.NSArray sections()
           
 void setSectionItem(java.lang.Object section)
           
 
Methods inherited from class er.extensions.components.ERXStatelessComponent
isStateless, valueForBooleanBinding, valueForBooleanBinding, valueForBooleanBinding, valueForIntBinding, valueForObjectBinding, valueForObjectBinding
 
Methods inherited from class er.extensions.components.ERXNonSynchronizingComponent
appendToResponse, invokeAction, resetCachedBindingsInStatefulComponent, synchronizesVariablesWithBindings, takeValuesFromRequest
 
Methods inherited from class er.extensions.components.ERXComponent
_awakeInContext, _checkAccess, _frameworkName, _includeCSSResources, _includeJavascriptResources, additionalCSSFiles, additionalJavascriptFiles, booleanValueForBinding, booleanValueForBinding, booleanValueForBinding, checkAccess, clickToOpenEnabled, componentName, defaultCSSPath, defaultJavascriptPath, dynamicBindings, floatValueForBinding, intValueForBinding, isPageAccessAllowed, localizer, objectValueForBinding, objectValueForBinding, pageWithName, postAppendToResponse, preAppendToResponse, primaryCSSFile, primaryJavascriptFile, stringValueForBinding, stringValueForBinding, useDefaultComponentCSS, useDefaultComponentJavascript
 
Methods inherited from class com.webobjects.appserver.WOComponent
_associationWithName, _childTemplate, _componentDefinition, _componentUnroll, _isPage, _setContext, _setIsPage, _setParent, _setSubcomponent, _sleepInContext, _subcomponentForElementWithID, _templateNameForClass, _unroll, application, awake, baseURL, bindingKeys, canAccessFieldsDirectly, canGetValueForBinding, canSetValueForBinding, clone, context, debugString, descriptionForResponse, ensureAwakeInContext, frameworkName, generateResponse, handleQueryWithUnboundKey, handleTakeValueForUnboundKey, hasBinding, hasSession, isCachingEnabled, isEventLoggingEnabled, logString, name, pageWithName, parent, path, pathURL, performParentAction, pullValuesFromParent, pushValuesToParent, session, set_componentUnroll, set_unroll, setCachingEnabled, setValueForBinding, sleep, takeValueForKey, takeValueForKeyPath, template, templateWithHTMLString, templateWithName, toString, unableToSetNullForKey, validateTakeValueForKeyPath, validateValueForKey, validationFailedWithException, valueForBinding, valueForKey, valueForKeyPath
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

log

public static final org.apache.log4j.Logger log
logging support

Constructor Detail

ERXGroupingRepetition

public ERXGroupingRepetition(com.webobjects.appserver.WOContext aContext)
Method Detail

sectionKey

public java.lang.String sectionKey()

sections

public com.webobjects.foundation.NSArray sections()

sectionItem

public java.lang.Object sectionItem()

setSectionItem

public void setSectionItem(java.lang.Object section)

reset

public void reset()
Overrides:
reset in class ERXStatelessComponent

Last updated: Tue, Feb 21, 2017 • 05:45 PM CET

Copyright © 2002 – 2007 Project Wonder.