org.kuali.rice.krad.datadictionary
Class UifDictionaryIndex

java.lang.Object
  extended by org.kuali.rice.krad.datadictionary.UifDictionaryIndex
All Implemented Interfaces:
Runnable

public class UifDictionaryIndex
extends Object
implements Runnable

Indexes View bean entries for retrieval

This is used to retrieve a View instance by its unique id. Furthermore, view of certain types (that have a ViewTypeService are indexed by their type to support retrieval of views based on parameters.

Author:
Kuali Rice Team (rice.collab@kuali.org)

Constructor Summary
UifDictionaryIndex(KualiDefaultListableBeanFactory ddBeans)
           
 
Method Summary
protected  String buildTypeIndex(Map<String,String> typeParameters)
          Builds up an index string from the given Map of parameters
protected  void buildViewIndicies()
          Initializes the view index Map then iterates through all the beans in the factory that implement View, adding them to the index
protected  ViewTypeDictionaryIndex getTypeIndex(UifConstants.ViewType viewType)
          Retrieves the ViewTypeDictionaryIndex instance for the given view type name.
 View getViewById(String viewId)
          Retrieves the View instance with the given id from the bean factory.
 View getViewByTypeIndex(UifConstants.ViewType viewTypeName, Map<String,String> indexKey)
          Retrieves a View instance that is of the given type based on the index key
 org.springframework.beans.PropertyValues getViewPropertiesById(String viewId)
          Retrieves the configured property values for the view bean definition associated with the given id
 org.springframework.beans.PropertyValues getViewPropertiesByType(UifConstants.ViewType viewTypeName, Map<String,String> indexKey)
          Retrieves the configured property values for the view bean definition associated with the given type and index
 List<View> getViewsForType(UifConstants.ViewType viewTypeName)
          Gets all View prototypes configured for the given view type name
protected  void indexViewForType(org.springframework.beans.PropertyValues propertyValues, String beanName)
          Performs additional indexing based on the view type associated with the view instance.
 void run()
           
 boolean viewByTypeExist(UifConstants.ViewType viewTypeName, Map<String,String> indexKey)
          Indicates whether a View exists for the given view type and index information
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UifDictionaryIndex

public UifDictionaryIndex(KualiDefaultListableBeanFactory ddBeans)
Method Detail

run

public void run()
Specified by:
run in interface Runnable

getViewById

public View getViewById(String viewId)
Retrieves the View instance with the given id from the bean factory. Since View instances are stateful, we need to get a new instance from Spring each time.

Parameters:
viewId - - the unique id for the view
Returns:
View instance

getViewByTypeIndex

public View getViewByTypeIndex(UifConstants.ViewType viewTypeName,
                               Map<String,String> indexKey)
Retrieves a View instance that is of the given type based on the index key

Parameters:
viewTypeName - - type name for the view
indexKey - - Map of index key parameters, these are the parameters the indexer used to index the view initially and needs to identify an unique view instance
Returns:
View instance that matches the given index or Null if one is not found

viewByTypeExist

public boolean viewByTypeExist(UifConstants.ViewType viewTypeName,
                               Map<String,String> indexKey)
Indicates whether a View exists for the given view type and index information

Parameters:
viewTypeName - - type name for the view
indexKey - - Map of index key parameters, these are the parameters the indexer used to index the view initially and needs to identify an unique view instance
Returns:
boolean true if view exists, false if not

getViewPropertiesById

public org.springframework.beans.PropertyValues getViewPropertiesById(String viewId)
Retrieves the configured property values for the view bean definition associated with the given id

Since constructing the View object can be expensive, when metadata only is needed this method can be used to retrieve the configured property values. Note this looks at the merged bean definition

Parameters:
viewId - - id for the view to retrieve
Returns:
PropertyValues configured on the view bean definition, or null if view is not found

getViewPropertiesByType

public org.springframework.beans.PropertyValues getViewPropertiesByType(UifConstants.ViewType viewTypeName,
                                                                        Map<String,String> indexKey)
Retrieves the configured property values for the view bean definition associated with the given type and index

Since constructing the View object can be expensive, when metadata only is needed this method can be used to retrieve the configured property values. Note this looks at the merged bean definition

Parameters:
viewTypeName - - type name for the view
indexKey - - Map of index key parameters, these are the parameters the indexer used to index the view initially and needs to identify an unique view instance
Returns:
PropertyValues configured on the view bean definition, or null if view is not found

getViewsForType

public List<View> getViewsForType(UifConstants.ViewType viewTypeName)
Gets all View prototypes configured for the given view type name

Parameters:
viewTypeName - - view type name to retrieve
Returns:
List view prototypes with the given type name, or empty list

buildViewIndicies

protected void buildViewIndicies()
Initializes the view index Map then iterates through all the beans in the factory that implement View, adding them to the index


indexViewForType

protected void indexViewForType(org.springframework.beans.PropertyValues propertyValues,
                                String beanName)
Performs additional indexing based on the view type associated with the view instance. The ViewTypeService associated with the view type name on the instance is invoked to retrieve the parameter key/value pairs from the configured property values, which are then used to build up an index used to key the entry

Parameters:
propertyValues - - property values configured on the view bean definition
beanName - - name of the view's bean in Spring

getTypeIndex

protected ViewTypeDictionaryIndex getTypeIndex(UifConstants.ViewType viewType)
Retrieves the ViewTypeDictionaryIndex instance for the given view type name. If one does not exist yet for the given name, a new instance is created

Parameters:
viewType - - name of the view type to retrieve index for
Returns:
ViewTypeDictionaryIndex instance

buildTypeIndex

protected String buildTypeIndex(Map<String,String> typeParameters)
Builds up an index string from the given Map of parameters

Parameters:
typeParameters - - Map of parameters to use for index
Returns:
String index


Copyright © 2005-2012 The Kuali Foundation. All Rights Reserved.