com.vaadin.annotations.

Annotation Type StyleSheet

  • @Retention(RUNTIME)
    @Target(TYPE)
    @Documented
    @Repeatable(InternalContainerAnnotationForSS.class)
    public @interface StyleSheet

    If this annotation is present on a ClientConnector class, the framework ensures the referenced style sheets are loaded before the init method for the corresponding client-side connector is invoked.

    Absolute URLs including protocol and host are used as is on the client-side. Relative URLs are mapped to APP/PUBLISHED/[url] which are by default served from the classpath relative to the class where the annotation is defined.

    The file is only loaded if it has not already been loaded, determined as follows:

    • For absolute URLs, the URL is considered loaded if the same URL has previously been loaded using StyleSheet or if a <link rel="stylesheet"> tag using the same URL was present in the DOM when the Vaadin client-side was initialized.
    • For relative URLs, the URL is considered loaded if another file with the same name has already been loaded using StyleSheet, even if that file was loaded from a different folder.

    Special Vaadin urls are also supported. The most useful is vaadin:// which maps to the location of the automatically published VAADIN folder located on your classpath in your resources. Using the VAADIN folder and vaadin:// you can publish stylesheets which use images or other files with relative paths. Another example is the theme:// url which maps to the location of your current theme.

    Example: @StyleSheet({"https://host.com/file1.css", "file2.css"}) on the class com.example.MyConnector would load the file https://host.com/file1.css as is and file2.css from /com/example/file2.css on the server's classpath using the ClassLoader that was used to load com.example.MyConnector.

    For adding multiple style sheets for a single component, you can use this annotation multiple times.

    Since:

    7.0.0

    Author:

    Vaadin Ltd

    • Required Element Summary

      Required Elements
      Modifier and Type Required Element Description
      String[] value

      Style sheets to load before initializing the client-side connector.

    • Element Detail

      • value

        String[] value

        Style sheets to load before initializing the client-side connector.

        Returns:

        an array of style sheet urls