001package com.identityworksllc.iiq.common.table;
002
003import java.util.List;
004
005/**
006 * An interface that classes can use to indicate that they can hold
007 * styles. This is used by {@link Table}-related classes.
008 */
009public interface StyleTarget {
010
011    /**
012     * Retrieves the set of CSS Classes attached to this object
013     * @return The set of CSS class names
014     */
015    List<String> getCssClasses();
016
017    /**
018     * Gets the CSS style string for this object
019     * @return The CSS style string
020     */
021    String getStyle();
022
023    /**
024     * Stores the set of CSS classes attached to this object
025     * @param cssClasses The set of CSS class names
026     */
027    void setCssClasses(List<String> cssClasses);
028
029    /**
030     * Sets the HTML element's style property of this object
031     * @param style The CSS style string
032     */
033    void setStyle(String style);
034
035}