Class DefaultTemplateResolverImpl

java.lang.Object
edu.internet2.middleware.grouper.ui.DefaultTemplateResolverImpl
All Implemented Interfaces:
TemplateResolver

public class DefaultTemplateResolverImpl extends Object implements TemplateResolver
Default implementation of the Grouper TemplateResolver interface. Deals with groups, subjects, stems and Collections. GroupFields will be added. New objectTypes can be supported by extending this Class

Version:
$Id: DefaultTemplateResolverImpl.java,v 1.4 2005/07/28 10:10:36 isgwb Exp $
  • Constructor Details

    • DefaultTemplateResolverImpl

      public DefaultTemplateResolverImpl()
      Default constructor
  • Method Details

    • getObjectType

      public String getObjectType(Object obj)
      Description copied from interface: TemplateResolver
      Given an Object determine its type. The type is not necessarily the Java type - it can be an entity type e.g. GroupAsMap has an object type of GrouperGroup
      Specified by:
      getObjectType in interface TemplateResolver
      Parameters:
      obj - object to determine type of
      Returns:
      generic type of obj
    • getTemplateName

      public String getTemplateName(Object obj, String view, ResourceBundle bundle, javax.servlet.http.HttpServletRequest request)
      Description copied from interface: TemplateResolver
      Given an Object and the name of a view, use the ResourceBundle to determine which JSP should render the view. request is redundant at the moment.
      Specified by:
      getTemplateName in interface TemplateResolver
      Parameters:
      obj - object to be rendered
      view - name of template
      bundle - ResourceBundle containing keys which can be maped to template names
      request - current HttpServletRequest
      Returns:
      name of template to use to render obj
    • getResource

      protected String getResource(ResourceBundle bundle, String key)
    • getGrouperGroupTemplateName

      public String getGrouperGroupTemplateName(Object obj, String view, ResourceBundle mediaResources, javax.servlet.http.HttpServletRequest request)
      Depending on the Group type may want to have different template. Look for more specific keys first:
      • group.view.<view>
      • group.view.default
      TODO groups can have multiple types - how best to cope?
      Parameters:
      obj - object to find template for
      view - name of template to find
      mediaResources - ResourceBundle containing template names and values
      request - HttpServletRequest
      Returns:
      name of template
    • getGrouperStemTemplateName

      public String getGrouperStemTemplateName(Object obj, String view, ResourceBundle mediaResources, javax.servlet.http.HttpServletRequest request)
      Get template name for a stem. Look for:
      • stem.view.<view>
      • stem.view.default
      Parameters:
      obj - object to find template for
      view - name of template to find
      mediaResources - ResourceBundle containing template names and values
      request - HttpServletRequest
      Returns:
      name of template
    • getMembershipTemplateName

      public String getMembershipTemplateName(Object obj, String view, ResourceBundle mediaResources, javax.servlet.http.HttpServletRequest request)
      Get template name for a Membership. Look for:
      • membership.view.<view>
      • membership.view.default
      Parameters:
      obj - object to find template for
      view - name of template to find
      mediaResources - ResourceBundle containing template names and values
      request - HttpServletRequest
      Returns:
      name of template
    • getGroupTypeTemplateName

      public String getGroupTypeTemplateName(Object obj, String view, ResourceBundle mediaResources, javax.servlet.http.HttpServletRequest request)
      Find template for a group type. Look for more specific keys first:
      • groupType.<name>view.<view>
      • groupType.<name>view.default
      • groupType.view.<view>
      • groupType.view.default
      Parameters:
      obj - object to find template for
      view - name of template to find
      mediaResources - ResourceBundle containing template names and values
      request - HttpServletRequest
      Returns:
      name of template
    • getCompositeTemplateName

      public String getCompositeTemplateName(Object obj, String view, ResourceBundle mediaResources, javax.servlet.http.HttpServletRequest request)
      Composites don't have types so simple lookup. Look for more specific keys first, then default:
      • composite.view.<view>
      • composite.view.default
      Parameters:
      obj - object to find template for
      view - name of template to find
      mediaResources - ResourceBundle containing template names and values
      request - HttpServletRequest
      Returns:
      name of template
    • getAuditEntryTemplateName

      public String getAuditEntryTemplateName(Object obj, String view, ResourceBundle mediaResources, javax.servlet.http.HttpServletRequest request)
    • getFieldTemplateName

      public String getFieldTemplateName(Object obj, String view, ResourceBundle mediaResources, javax.servlet.http.HttpServletRequest request)
      Depending on the Field type (list or atribute) may want to have different template. Look for more specific keys first:
      • field.<fieldName>view.<view>
      • field.<fieldName>view.default
      • field.<fieldType>view.<view>
      • field.<fieldType>view.default
      • field.view.<view>
      • field.view.default
      Parameters:
      obj - object to find template for
      view - name of template to find
      mediaResources - ResourceBundle containing template names and values
      request - HttpServletRequest
      Returns:
      name of template
    • getAttributeDefNameTemplateName

      public String getAttributeDefNameTemplateName(Object obj, String view, ResourceBundle mediaResources, javax.servlet.http.HttpServletRequest request)
      Parameters:
      obj -
      view -
      mediaResources -
      request -
      Returns:
      name of template
    • getSubjectPrivilegeTemplateName

      public String getSubjectPrivilegeTemplateName(Object obj, String view, ResourceBundle mediaResources, javax.servlet.http.HttpServletRequest request)
      Get template name for a SubjectPrivilege (type=access/naming). Look for:
      • subjectprivilege.<type>.view.<view>
      • subjectprivilege.<type>.view.default
      • subjectprivilege.view.<view>
      • subjectprivilege.view.default
      Parameters:
      obj - object to find template for
      view - name of template to find
      mediaResources - ResourceBundle containing template names and values
      request - HttpServletRequest
      Returns:
      name of template
    • getI2miSubjectTemplateName

      public String getI2miSubjectTemplateName(Object object, String view, ResourceBundle mediaResources, javax.servlet.http.HttpServletRequest request)
      Depending on the subject type may want to have a different template. The same subject type may be retrieved by different Sources, and may have different attributes available. Look for more specific keys first. If a value=* then don`t use the specific default - try the next key instead/
      • <source>.subjectType.<type>.view.<view>
      • <source>.subjectType.<type>.view.default
      • <source>.view.<view>
      • <source>.view.default
      • subjectType.<type>.view.<view>
      • subjectType.<type<.view.default
      • subject.view.<view>
      • subject.view.default
      Parameters:
      object - to find template for
      view - name of template to find
      mediaResources - ResourceBundle containing template names and values
      request - HttpServletRequest
      Returns:
      name of template
    • getCollectionTemplateName

      public String getCollectionTemplateName(Object object, String view, ResourceBundle mediaResources, javax.servlet.http.HttpServletRequest request)
      Get template name for provided Collection and view. If none specified use default.
      • list.view.<view>
      • list.view.default
      Parameters:
      object - to find template for
      view - name of template to find
      mediaResources - ResourceBundle containing template names and values
      request - HttpServletRequest
      Returns:
      name of template