Class StandardGenericXMLSearchableAttribute

java.lang.Object
org.kuali.rice.kew.docsearch.xml.StandardGenericXMLSearchableAttribute
All Implemented Interfaces:
org.kuali.rice.kew.framework.document.attribute.SearchableAttribute
Direct Known Subclasses:
KualiXmlSearchableAttributeImpl

public class StandardGenericXMLSearchableAttribute extends Object implements org.kuali.rice.kew.framework.document.attribute.SearchableAttribute
Implementation of a SearchableAttribute whose configuration is driven from XML. XML configuration must be supplied in the ExtensionDefinition configuration parameter KewApiConstants.ATTRIBUTE_XML_CONFIG_DATA. Parsing of XML search configuration and generation of XML search content proceeds in an analogous fashion to StandardGenericXMLRuleAttribute. Namely, if an
searchingConfig/xmlSearchContent
element is provided, its content is used as a template. Otherwise a standard XML template is used. This template is parameterized with variables of the notation
%name%
which are resolved by
searchingConfig/fieldDef[@name]
definitions. The XML content is not validated, but it must be well formed. Example 1:
     <searchingConfig>
         <fieldDef name="def1" ...other attrs/>
             ... other config
         </fieldDef>
         <fieldDef name="def2" ...other attrs/>
             ... other config
         </fieldDef>
     </searchingConfig>
 
Produces, when supplied with the workflow definition parameters: { def1: val1, def2: val2 }:
     <xmlRouting>
         <field name="def1"><value>val1</value></field>
         <field name="def2"><value>val2</value></field>
     </xmlRouting>
 
Example 2:
     <searchingConfig>
         <xmlSearchContent>
             <myGeneratedContent>
                 <version>whatever</version>
                 <anythingIWant>Once upon a %def1%...</anythingIWant>
                 <conclusion>Happily ever %def2%.</conclusion>
             </myGeneratedContent>
         </xmlSearchContent>
         <fieldDef name="def1" ...other attrs/>
             ... other config
         </fieldDef=>
         <fieldDef name="def2" ...other attrs/>
             ... other config
         </fieldDef>
     </searchingConfig>
 
Produces, when supplied with the workflow definition parameters: { def1: val1, def2: val2 }:
     <myGeneratedContent>
         <version>whatever</version>
         <anythingIWant>Once upon a val1...</anythingIWant>
         <conclusion>Happily ever val2.</conclusion>
     </myGeneratedContent>
 
Author:
Kuali Rice Team (rice.collab@kuali.org)
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    List<org.kuali.rice.kew.api.document.attribute.DocumentAttribute>
    extractDocumentAttributes(org.kuali.rice.kew.api.extension.ExtensionDefinition extensionDefinition, org.kuali.rice.kew.api.document.DocumentWithContent documentWithContent)
     
    generateSearchContent(org.kuali.rice.kew.api.extension.ExtensionDefinition extensionDefinition, String documentTypeName, org.kuali.rice.kew.api.document.attribute.WorkflowAttributeDefinition attributeDefinition)
     
    protected Element
    getConfigXML(org.kuali.rice.kew.api.extension.ExtensionDefinition extensionDefinition)
     
    List<org.kuali.rice.core.api.uif.RemotableAttributeField>
    getSearchFields(org.kuali.rice.kew.api.extension.ExtensionDefinition extensionDefinition, String documentTypeName)
     
    List<org.kuali.rice.core.api.uif.RemotableAttributeError>
    validateDocumentAttributeCriteria(org.kuali.rice.kew.api.extension.ExtensionDefinition extensionDefinition, org.kuali.rice.kew.api.document.search.DocumentSearchCriteria documentSearchCriteria)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • StandardGenericXMLSearchableAttribute

      public StandardGenericXMLSearchableAttribute()
  • Method Details

    • generateSearchContent

      public String generateSearchContent(org.kuali.rice.kew.api.extension.ExtensionDefinition extensionDefinition, String documentTypeName, org.kuali.rice.kew.api.document.attribute.WorkflowAttributeDefinition attributeDefinition)
      Specified by:
      generateSearchContent in interface org.kuali.rice.kew.framework.document.attribute.SearchableAttribute
    • extractDocumentAttributes

      public List<org.kuali.rice.kew.api.document.attribute.DocumentAttribute> extractDocumentAttributes(org.kuali.rice.kew.api.extension.ExtensionDefinition extensionDefinition, org.kuali.rice.kew.api.document.DocumentWithContent documentWithContent)
      Specified by:
      extractDocumentAttributes in interface org.kuali.rice.kew.framework.document.attribute.SearchableAttribute
    • getSearchFields

      public List<org.kuali.rice.core.api.uif.RemotableAttributeField> getSearchFields(org.kuali.rice.kew.api.extension.ExtensionDefinition extensionDefinition, String documentTypeName)
      Specified by:
      getSearchFields in interface org.kuali.rice.kew.framework.document.attribute.SearchableAttribute
    • validateDocumentAttributeCriteria

      public List<org.kuali.rice.core.api.uif.RemotableAttributeError> validateDocumentAttributeCriteria(org.kuali.rice.kew.api.extension.ExtensionDefinition extensionDefinition, org.kuali.rice.kew.api.document.search.DocumentSearchCriteria documentSearchCriteria)
      Specified by:
      validateDocumentAttributeCriteria in interface org.kuali.rice.kew.framework.document.attribute.SearchableAttribute
    • getConfigXML

      protected Element getConfigXML(org.kuali.rice.kew.api.extension.ExtensionDefinition extensionDefinition)