All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jmesa.view.html.component.HtmlRow Maven / Gradle / Ivy

There is a newer version: 3.0.4
Show newest version
/*
 * Copyright 2004 original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.jmesa.view.html.component;

import org.apache.commons.lang.StringUtils;

import org.jmesa.util.SupportUtils;
import org.jmesa.view.component.Row;
import org.jmesa.view.html.HtmlConstants;
import org.jmesa.view.html.event.MouseRowEvent;
import org.jmesa.view.html.event.RowEvent;
import org.jmesa.view.html.renderer.HtmlRowRenderer;
import org.jmesa.view.renderer.RowRenderer;

/**
 * @since 2.0
 * @author Jeff Johnston
 */
public class HtmlRow extends Row {
    private String style;
    private String styleClass;
    private String highlightStyle;
    private String highlightClass;
    private String evenClass;
    private String oddClass;
    private Boolean filterable;
    private Boolean sortable;
    private boolean highlighter = true;
    private RowEvent onclick;
    private RowEvent onmouseout;
    private RowEvent onmouseover;

    @Override
	public HtmlRow uniqueProperty(String uniqueProperty) {
        super.uniqueProperty(uniqueProperty);
		return this;
	}

    public String getStyle() {
        return style;
    }

    public void setStyle(String style) {
        this.style = style;
    }

    public String getStyleClass() {
        return styleClass;
    }

    public String getEvenClass() {
        if (StringUtils.isBlank(evenClass)) {
            return getCoreContext().getPreference(HtmlConstants.ROW_RENDERER_EVEN_CLASS);
        }

        return evenClass;
    }

    public void setEvenClass(String evenClass) {
        this.evenClass = evenClass;
    }

    public String getOddClass() {
        if (StringUtils.isBlank(oddClass)) {
            return getCoreContext().getPreference(HtmlConstants.ROW_RENDERER_ODD_CLASS);
        }

        return oddClass;
    }

    public void setOddClass(String oddClass) {
        this.oddClass = oddClass;
    }

    public void setStyleClass(String styleClass) {
        this.styleClass = styleClass;
    }

    public String getHighlightClass() {
        if (StringUtils.isBlank(highlightClass)) {
            return getCoreContext().getPreference(HtmlConstants.ROW_RENDERER_HIGHLIGHT_CLASS);
        }

        return highlightClass;
    }

    public void setHighlightClass(String highlightClass) {
        this.highlightClass = highlightClass;
    }

    public String getHighlightStyle() {
        return highlightStyle;
    }

    public void setHighlightStyle(String highlightStyle) {
        this.highlightStyle = highlightStyle;
    }

    public Boolean isFilterable() {
        return filterable;
    }

    public void setFilterable(Boolean filterable) {
        this.filterable = filterable;
    }

	public HtmlRow filterable(Boolean filterable) {
		setFilterable(filterable);
		return this;
	}

    public Boolean isSortable() {
        return sortable;
    }

    public void setSortable(Boolean sortable) {
        this.sortable = sortable;
    }

	public HtmlRow sortable(Boolean sortable) {
		setSortable(sortable);
		return this;
	}

    public boolean isHighlighter() {
        return highlighter;
    }

    public void setHighlighter(boolean highlighter) {
        this.highlighter = highlighter;
    }

	public HtmlRow highlighter(boolean highlighter) {
		setHighlighter(highlighter);
		return this;
	}

    public RowEvent getOnclick() {
        return onclick;
    }

    public void setOnclick(RowEvent onclick) {
        this.onclick = onclick;
        SupportUtils.setRow(onclick, this);
    }

	public HtmlRow onclick(RowEvent onclick) {
		setOnclick(onclick);
		return this;
	}

    public RowEvent getOnmouseout() {
        if (onmouseout == null) {
            onmouseout = new MouseRowEvent();
            SupportUtils.setRow(onmouseout, this);
        }

        return onmouseout;
    }

    public void setOnmouseout(RowEvent onmouseout) {
        this.onmouseout = onmouseout;
        SupportUtils.setRow(onmouseout, this);
    }

	public HtmlRow onmouseout(RowEvent onmouseout) {
		setOnmouseout(onmouseout);
		return this;
	}

    public RowEvent getOnmouseover() {
        if (onmouseover == null) {
            onmouseover = new MouseRowEvent();
            SupportUtils.setRow(onmouseover, this);
        }

        return onmouseover;
    }

    public void setOnmouseover(RowEvent onmouseover) {
        this.onmouseover = onmouseover;
        SupportUtils.setRow(onmouseover, this);
    }

	public HtmlRow onmouseover(RowEvent onmouseover) {
		setOnmouseover(onmouseover);
		return this;
	}

    @Override
    public HtmlColumn getColumn(String property) {
        return (HtmlColumn) super.getColumn(property);
    }

    @Override
    public HtmlColumn getColumn(int index) {
        return (HtmlColumn) super.getColumn(index);
    }

    @Override
    public HtmlRowRenderer getRowRenderer() {
        RowRenderer rowRenderer = super.getRowRenderer();
        if (rowRenderer == null) {
            HtmlRowRenderer htmlRowRenderer = new HtmlRowRenderer(this);
            super.setRowRenderer(htmlRowRenderer);
            return htmlRowRenderer;
        }
        return (HtmlRowRenderer) rowRenderer;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy