Interface EntityViewUrlCustomizable

  • All Superinterfaces:
    EntityProvider

    public interface EntityViewUrlCustomizable
    extends EntityProvider
    Indicates that the entity URLs for the types of entities handled by this provider are customized by the set of entity templates returned
    These will be used
    Author:
    Aaron Zeckoski (aaron@caret.cam.ac.uk)
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      List<TemplateParseUtil.Template> getParseTemplates()
      Defines a set of parseable templates to use with entity url processing for this template (which is basically a key and the template string), the array which defines the set of template keys is TemplateParseUtil.PARSE_TEMPLATE_KEYS
      Rules for parse templates:
      1) "{","}", and #SEPARATOR are special characters and must be used as indicated only
      2) Must begin with a #SEPARATOR, must not end with a #SEPARATOR
      3) must begin with "/{prefix}" (use the #SEPARATOR and #PREFIX constants)
      3) each {var} can only be used once in a template
      4) {var} can never touch each other (i.e /{var1}{var2}/{id} is invalid)
      5) each {var} can only have the chars from TemplateParseUtil.VALID_VAR_CHARS
      6) parse templates can only have the chars from TemplateParseUtil.VALID_TEMPLATE_CHARS
      7) Empty braces ({}) cannot appear in the template

      You do not have to supply a template for all the keys in TemplateParseUtil.PARSE_TEMPLATE_KEYS, any that you do not include will simply use the default templates, be careful though, since they will be parsed in order you have to be careful about the order you place your templates in the list, check the default order as an example
    • Method Detail

      • getParseTemplates

        List<TemplateParseUtil.Template> getParseTemplates()
        Defines a set of parseable templates to use with entity url processing for this template (which is basically a key and the template string), the array which defines the set of template keys is TemplateParseUtil.PARSE_TEMPLATE_KEYS
        Rules for parse templates:
        1) "{","}", and #SEPARATOR are special characters and must be used as indicated only
        2) Must begin with a #SEPARATOR, must not end with a #SEPARATOR
        3) must begin with "/{prefix}" (use the #SEPARATOR and #PREFIX constants)
        3) each {var} can only be used once in a template
        4) {var} can never touch each other (i.e /{var1}{var2}/{id} is invalid)
        5) each {var} can only have the chars from TemplateParseUtil.VALID_VAR_CHARS
        6) parse templates can only have the chars from TemplateParseUtil.VALID_TEMPLATE_CHARS
        7) Empty braces ({}) cannot appear in the template

        You do not have to supply a template for all the keys in TemplateParseUtil.PARSE_TEMPLATE_KEYS, any that you do not include will simply use the default templates, be careful though, since they will be parsed in order you have to be careful about the order you place your templates in the list, check the default order as an example
        Returns:
        the list of custom parsing templates in the order they should be processed