Class DefaultItemConverter

java.lang.Object
org.craftercms.engine.navigation.impl.DefaultItemConverter
All Implemented Interfaces:
org.craftercms.commons.converters.Converter<SiteItem,NavItem>

public class DefaultItemConverter extends Object implements org.craftercms.commons.converters.Converter<SiteItem,NavItem>
Default converter from SiteItem to NavItem. To generate the URL, it uses a URL transformer, and to generate the navigation label it uses the nav label element in the content, the internal name element or the file name, in that order. If the SiteItem has no content, null is returned (items with no content, like folders with no index.xml, should not be navigable).
Author:
avasquez
  • Field Details

    • internalNameXPath

      protected String internalNameXPath
    • storeUrlToRenderUrlTransformerName

      protected String storeUrlToRenderUrlTransformerName
    • urlTransformationService

      protected UrlTransformationService urlTransformationService
  • Constructor Details

  • Method Details

    • getSourceClass

      public Class<?> getSourceClass()
      Specified by:
      getSourceClass in interface org.craftercms.commons.converters.Converter<SiteItem,NavItem>
    • getTargetClass

      public Class<?> getTargetClass()
      Specified by:
      getTargetClass in interface org.craftercms.commons.converters.Converter<SiteItem,NavItem>
    • convert

      public NavItem convert(SiteItem siteItem)
      Specified by:
      convert in interface org.craftercms.commons.converters.Converter<SiteItem,NavItem>
    • getNavigationLabel

      protected String getNavigationLabel(SiteItem siteItem)
    • getNavigationUrl

      protected String getNavigationUrl(SiteItem siteItem)
    • getAdditionalAttributes

      protected Map<String,String> getAdditionalAttributes(SiteItem siteItem)
    • toString

      public String toString()
      Overrides:
      toString in class Object