Interface FrontMatterInfo

All Superinterfaces:
BasicFrontMatterInfo, HasDiagnostics
All Known Implementing Classes:
ParsedFrontMatter

public interface FrontMatterInfo extends BasicFrontMatterInfo, HasDiagnostics
FrontMatter services provided within NoSQLBench are required to return the following types. If the markdown source file does not contain the metadata requested, then reasonable non-null defaults must be provided.
  • Field Details

  • Method Details

    • getTitle

      String getTitle()
      Specified by:
      getTitle in interface BasicFrontMatterInfo
      Returns:
      A title for the given markdown source file.
    • getWeight

      int getWeight()
      Specified by:
      getWeight in interface BasicFrontMatterInfo
      Returns:
      A weight for the given markdown source file.
    • getTopics

      Set<String> getTopics()

      Topics in this service are taxonomically hierarchical, and use the same naming convention as relative file paths. (In a *NIX system, meaning forward slashes as path separators).

      The end name on a topic is considered the local topic name. The leading names before this local topic name are considered nested categories. Taken together, these categories (in hierarchic ordered form) are the general category.

      A topic and the location of the markdown content it is part of are NOT bound together.

      Returns:
      A list of categories
    • getIncluded

      List<String> getIncluded()

      If content is included in an item from another topic, then the topic name with which the additional content was added is in the inclueded list of topics.

      This is distinct from getTopics(), which is not modified by the included topic names.

      Returns:
      A list of included topics.
    • getAggregations

      List<Pattern> getAggregations()

      Aggregation patterns coalesce all the topics that they match into a seamless logical section of content. All source markdown files which have a topic which is matched by at least one of the aggregation patterns is included in the order of their weight.

      Aggregation patterns are simple regexes. It is possible to have multiple patterns as well as content that is referenced by multiple aggregations, from the same or different source aggregating topics.

      Returns:
      A list of aggregation patterns
    • getDocScopes

      Set<DocScope> getDocScopes()
      If a markdown source is flagged for use in a specific doc scope, then you can filter for that scope when you ask for markdown.

      Markdown content which contains zero scopes should explicitly return DocScope.NONE. Markdown content which contains one or more scopes should explicitly add DocScope.ANY to the returned set. Markdown should never be tagged with ANY or NONE in the source content. Readers should throw an error if this is detected.

      Returns:
      A list of DocScopes for which this markdown should be used.