com.vaadin.flow.component.littemplate.internal.

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.