Class LitTemplateParserImpl

java.lang.Object
com.vaadin.flow.component.littemplate.internal.LitTemplateParserImpl
All Implemented Interfaces:
LitTemplateParser

public class LitTemplateParserImpl extends Object implements LitTemplateParser
Lit template parser implementation.

The implementation scans all JsModule annotations for the given template class and tries to find the one that contains template definition using the tag name.

The class is Singleton. Use getInstance() to get its instance.

For internal use only. May be renamed or removed in a future release.

Since:
Author:
Vaadin Ltd
See Also:
  • Constructor Details

    • LitTemplateParserImpl

      protected LitTemplateParserImpl()
      The default constructor. Protected in order to prevent direct instantiation, but not private in order to allow mocking/overrides for testing purposes.
  • Method Details

    • getInstance

      public static LitTemplateParser getInstance()
    • getTemplateContent

      public LitTemplateParser.TemplateData getTemplateContent(Class<? extends LitTemplate> clazz, String tag, VaadinService service)
      Description copied from interface: LitTemplateParser
      Gets the template data which contains a JSOUP Element representing the template content and the template uri.
      Specified by:
      getTemplateContent in interface LitTemplateParser
      Parameters:
      clazz - the template class
      tag - the template tag name
      service - the related Vaadin service
      Returns:
      the template data, may be null
    • getSourcesFromTemplate

      protected String getSourcesFromTemplate(VaadinService service, String tag, String url)
      Finds the JavaScript sources for given tag.
      Parameters:
      service - the Vaadin service
      tag - the value of the Tag annotation, e.g. `my-component`
      url - the URL resolved according to the JsModule spec, for example ./view/my-view.js or @vaadin/vaadin-button.js.
      Returns:
      the .js source which declares given custom element, or null if no such source can be found.