Class CssHeaderItem

All Implemented Interfaces:
Serializable, IClusterable
Direct Known Subclasses:
AbstractCssReferenceHeaderItem, CssContentHeaderItem

public abstract class CssHeaderItem extends AbstractCspHeaderItem
Base class for all HeaderItems that represent stylesheets. This class mainly contains factory methods.
Author:
papegaaij
See Also:
  • Constructor Details

  • Method Details

    • getId

      public String getId()
      Returns:
      an optional markup id for the <link> HTML element that will be rendered for this header item
    • setId

      public CssHeaderItem setId(String markupId)
      Parameters:
      markupId - an optional markup id for this header item
      Returns:
      this object, for method chaining
    • forReference

      Creates a CssReferenceHeaderItem for the given reference.
      Parameters:
      reference - a reference to a CSS resource
      Returns:
      A newly created CssReferenceHeaderItem for the given reference.
    • forReference

      public static CssReferenceHeaderItem forReference(ResourceReference reference, String media)
      Creates a CssReferenceHeaderItem for the given reference.
      Parameters:
      reference - a reference to a CSS resource
      media - the media type for this CSS ("print", "screen", etc.)
      Returns:
      A newly created CssReferenceHeaderItem for the given reference.
    • forReference

      public static CssReferenceHeaderItem forReference(ResourceReference reference, PageParameters pageParameters, String media)
      Creates a CssReferenceHeaderItem for the given reference.
      Parameters:
      reference - a reference to a CSS resource
      pageParameters - the parameters for this CSS resource reference
      media - the media type for this CSS ("print", "screen", etc.)
      Returns:
      A newly created CssReferenceHeaderItem for the given reference.
    • forReference

      public static CssReferenceHeaderItem forReference(ResourceReference reference, PageParameters pageParameters, String media, String rel)
      Creates a CssReferenceHeaderItem for the given reference. Warning: the conditional comments don't work when injected dynamically with JavaScript (i.e. in Ajax response). An alternative solution is to use user agent sniffing at the server side:
       public void renderHead(IHeaderResponse response) {
         WebClientInfo clientInfo = (WebClientInfo) getSession().getClientInfo();
         ClientProperties properties = clientInfo.getProperties();
         if (properties.isBrowserInternetExplorer() && properties.getBrowserVersionMajor() >= 8) {
           response.renderCSSReference(new PackageResourceReference(MyPage.class, "my-conditional.css" ));
         }
       }
       
      Parameters:
      reference - a reference to a CSS resource
      pageParameters - the parameters for this CSS resource reference
      media - the media type for this CSS ("print", "screen", etc.)
      rel - the rel attribute content
      Returns:
      A newly created CssReferenceHeaderItem for the given reference.
    • forCSS

      public static CssContentHeaderItem forCSS(CharSequence css, String id)
      Creates a CssContentHeaderItem for the given content.
      Parameters:
      css - css content to be rendered.
      id - unique id for the <style> element. This can be null, however in that case the ajax header contribution can't detect duplicate CSS fragments.
      Returns:
      A newly created CssContentHeaderItem for the given content.
    • forUrl

      Creates a CssUrlReferenceHeaderItem for the given url.
      Parameters:
      url - context-relative url of the CSS resource
      Returns:
      A newly created CssUrlReferenceHeaderItem for the given url.
    • forUrl

      public static CssUrlReferenceHeaderItem forUrl(String url, String media)
      Creates a CssUrlReferenceHeaderItem for the given url.
      Parameters:
      url - context-relative url of the CSS resource
      media - the media type for this CSS ("print", "screen", etc.)
      Returns:
      A newly created CssUrlReferenceHeaderItem for the given url.
    • forUrl

      public static CssUrlReferenceHeaderItem forUrl(String url, String media, String rel)
      Creates a CssUrlReferenceHeaderItem for the given url. Warning: the conditional comments don't work when injected dynamically with JavaScript (i.e. in Ajax response). An alternative solution is to use user agent sniffing at the server side:
       public void renderHead(IHeaderResponse response) {
         WebClientInfo clientInfo = (WebClientInfo) getSession().getClientInfo();
         ClientProperties properties = clientInfo.getProperties();
         if (properties.isBrowserInternetExplorer() && properties.getBrowserVersionMajor() >= 8) {
           response.renderCSSReference(new PackageResourceReference(MyPage.class, "my-conditional.css" ));
         }
       }
       
      Parameters:
      url - context-relative url of the CSS resource
      media - the media type for this CSS ("print", "screen", etc.)
      rel - the rel attribute content
      Returns:
      A newly created CssUrlReferenceHeaderItem for the given url.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object