DocumentSearchCustomizationHandlerService

Name DocumentSearchCustomizationHandler
Version
Included Services  
Java Package org.kuali.rice.kew.framework.document.search

A remotable service which handles processing of a client application's document search customizations.

Operations
Main Message Structures

Method getDocumentSearchConfiguration
Description Retrieves the custom {@code DocumentSearchCriteriaConfiguration} to use for the document type with the given name
and for the given list of searchable attributes. This method is invoked by the document search implementation in
order to help assemble the final criteria attribute fields (which includes configuration for all searchable
attributes on the document type).

The given list of searchable attribute names may not necessary include all searchable attribute on the
document type, only those which need to be handled by the client application hosting this service. This
determination is made based on the applicationId which is associated with the searchable attribute.
Implementations of this method will assemble this information by invoking the
{@link org.kuali.rice.kew.framework.document.attribute.SearchableAttribute#getSearchFields(org.kuali.rice.kew.api.extension.ExtensionDefinition, String)}
methods on each of the requested searchable attributes.

Parameters String documentTypeName the document type name for which to retrieve the configuration
StringList searchableAttributeNames the names of the searchable attributes from which to assemble criteria
configuration which are owned by the application hosting this service
Return DocumentSearchCriteriaConfiguration the custom document search criteria configuration for the given searchable attribute, or null if no
custom configuration is needed
Errors RiceIllegalArgumentException if documentTypeName is a null or blank value

Back to Operations

Method validateCriteria
Description Executes validation of the given {@code DocumentSearchCriteria} against the searchable attributes with the given
names.. This method is invoked by the document search implementation in order to allow for validation to be
customized via custom searchable attribute implementations.

The given list of searchable attribute names may not necessary include all searchable attribute on the
document type, only those which need to be handled by the client application hosting this service. This
determination is made based on the applicationId which is associated with the searchable attribute.
Implementations of this method execute this validationby invoking the
{@link org.kuali.rice.kew.framework.document.attribute.SearchableAttribute#validateDocumentAttributeCriteria(org.kuali.rice.kew.api.extension.ExtensionDefinition, org.kuali.rice.kew.api.document.search.DocumentSearchCriteria)}
methods on each of the requested searchable attributes.

Parameters DocumentSearchCriteria documentSearchCriteria the criteria against which to perform the validation
StringList searchableAttributeNames the names of the searchable attributes against which to execute validation which
are owned by the application hosting this service
Return RemotableAttributeErrorList a list or remotable attribute errors in the case that any validation errors were raised by the
requested searchable attributes
Errors RiceIllegalArgumentException if documentTypeName is a null or blank value

Back to Operations

Method customizeCriteria
Description Executes criteria customization against the given criteria using the {@link DocumentSearchCustomizer} with the
given customizer name. This name is the name of the {@code ExtensionDefinition} that defines the customizer
where the customizer extension's applicationId is the same as the application hosting this service.

This method effectively invokes the {@link DocumentSearchCustomizer#customizeCriteria(org.kuali.rice.kew.api.document.search.DocumentSearchCriteria)}
on the requested customizer which is owned by this application.

Parameters DocumentSearchCriteria documentSearchCriteria the criteria to customize
String customizerName the name of the extension definition for the {@code DocumentSearchCustomizer} which should
be used in order to execute the customization
Return DocumentSearchCriteria the customized criteria, or null if no customization was performed
Errors RiceIllegalArgumentException if documentSearchCriteria is null

Back to Operations

Method customizeClearCriteria
Description Executes custom criteria clearing against the given criteria using the {@link DocumentSearchCustomizer} with the
given customizer name. This name is the name of the {@code ExtensionDefinition} that defines the customizer
where the customizer extension's applicationId is the same as the application hosting this service.

This method effectively invokes the {@link DocumentSearchCustomizer#customizeClearCriteria(org.kuali.rice.kew.api.document.search.DocumentSearchCriteria)}
on the requested customizer which is owned by this application.

Parameters DocumentSearchCriteria documentSearchCriteria the criteria on which to perform custom clearing
String customizerName the name of the extension definition for the {@code DocumentSearchCustomizer} which should
be used in order to execute the customization
Return DocumentSearchCriteria the cleared criteria, or null if no custom clear was performed
Errors RiceIllegalArgumentException if documentSearchCriteria is null

Back to Operations

Method customizeResults
Description Executes customization of document search results using the {@link DocumentSearchCustomizer} with the
given customizer name. This name is the name of the {@code ExtensionDefinition} that defines the customizer
where the customizer extension's applicationId is the same as the application hosting this service.

This method effectively invokes the {@link DocumentSearchCustomizer#customizeResults(org.kuali.rice.kew.api.document.search.DocumentSearchCriteria, java.util.List)}
on the requested customizer which is owned by this application.

Parameters DocumentSearchCriteria documentSearchCriteria the criteria that was used to perform the lookup
DocumentSearchResultList results the results that were returned from the lookup
String customizerName the name of the extension definition for the {@code DocumentSearchCustomizer} which should
be used in order to execute the customization
Return DocumentSearchResultValues the customized document search results values, or null if no customization was performed
Errors RiceIllegalArgumentException if documentSearchCriteria is null

Back to Operations

Method customizeResultSetConfiguration
Description Executes customization of document search result set configuration using the {@link DocumentSearchCustomizer}
with the given customizer name. This name is the name of the {@code ExtensionDefinition} that defines the
customizer where the customizer extension's applicationId is the same as the application hosting this service.

This method effectively invokes the {@link DocumentSearchCustomizer#customizeResultSetConfiguration(org.kuali.rice.kew.api.document.search.DocumentSearchCriteria)}
on the requested customizer which is owned by this application.

Parameters DocumentSearchCriteria documentSearchCriteria the criteria that was used to perform the lookup
String customizerName the name of the extension definition for the {@code DocumentSearchCustomizer} which should
be used in order to execute the customization
Return DocumentSearchResultSetConfiguration the customized document search result configuration, or null if no customization was performed
Errors RiceIllegalArgumentException if documentSearchCriteria is null

Back to Operations

Method getEnabledCustomizations
Description Returns the set of customizations that are enabled and should be executed for the {@link DocumentSearchCustomizer}
with the given customizer name. This name is the name of the {@code ExtensionDefinition} that defines the
customizer where the customizer extension's applicationId is the same as the application hosting this service.

This method essentially invokes the various boolean methods on the {@code DocumentSearchCustomizer} which
indicate which customizations the implementation provides. This primarily serves as a means of optimization to
reduce the number of remote callbacks that the document search implementation needs to make to the various
customizations provided by this service and the customizers it delegates too.

Parameters String documentTypeName the name of the document type against which to check for enabled customizations on the
specified customizer
String customizerName the name of the extension definition for the {@code DocumentSearchCustomizer} which should
be used in order to check for enabled customizations
Return DocumentSearchCustomizationList the set of customizations that are enabled
Errors RiceIllegalArgumentException if documentTypeName is a null or blank value

Back to Operations