@Documented
@Retention(value=RUNTIME)
@Target(value=METHOD)
public static @interface CssResource.Import
CssResource.ImportedWithPrefix
value.
This is an example of creating a descendant selector with two unrelated types:
@ImportedWithPrefix("some-prefix") interface ToImport extends CssResource { String widget(); } @ImportedWithPrefix("other-import") interface OtherImport extends CssResource { String widget(); } interface Resources extends ClientBundle { @Import(value = {ToImport.class, OtherImport.class}) @Source("my.css") CssResource usesImports(); } my.css: // Now I can refer to these classes defined elsewhere with no // fear of name collisions .some-prefix-widget .other-import-widget {...}If the imported CssResource type is lacking an
CssResource.ImportedWithPrefix
annotation, the simple name of the type will be used instead. In the above
example, without the annotation on ToImport
, the class
selector would have been .ToImport-widget
. Notice also that
both interfaces defined a method called widget()
, which would
prevent meaningful composition of the original interfaces.
It is an error to import multiple classes with the same prefix into one CssResource.
Modifier and Type | Required Element and Description |
---|---|
java.lang.Class<? extends CssResource>[] |
value |
public abstract java.lang.Class<? extends CssResource>[] value