View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  
20  package org.apache.myfaces.tobago.internal.taglib.declaration;
21  
22  import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
23  import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
24  
25  public interface IsVisual {
26  
27    /**
28     * Sets a CSS class in its parent, if the parent supports it.
29     *
30     * Which this feature it is possible to put a CSS class name into a component with the <tc:style> tag. Example:
31     *
32     * <pre>
33     * &lt;tc:in&gt;
34     *   &lt;tc:style customClass="my-emphasized"/&gt;
35     * &lt;/tc:in&gt;
36     * </pre>
37     *
38     * One capability is, to used external CSS libs.
39     * <br>
40     * This feature should not be used imprudent.
41     * Because it might be unstable against changes in the renderered HTML code.
42     */
43    @UIComponentTagAttribute(type = "org.apache.myfaces.tobago.renderkit.css.CustomClass")
44    void setCustomClass(String customClass);
45  
46    /**
47     * Indicate markup of this component.
48     * The allowed markups can be defined or overridden in the theme.
49     * The value 'none' should not be used any longer. Just leave the attribute empty, or use a NULL pointer.
50     */
51    @TagAttribute
52    @UIComponentTagAttribute(type = "org.apache.myfaces.tobago.context.Markup")
53    void setMarkup(String markup);
54  
55  }