ips1ap101.lib.core.app.OrdenConjuntoResultados.java Source code

Java tutorial

Introduction

Here is the source code for ips1ap101.lib.core.app.OrdenConjuntoResultados.java

Source

/*
 * Este programa es software libre; usted puede redistribuirlo y/o modificarlo bajo los trminos
 * de la licencia "GNU General Public License" publicada por la Fundacin "Free Software Foundation".
 *
 * Este programa se distribuye con la esperanza de que pueda ser til, pero SIN NINGUNA GARANTIA;
 * vea la licencia "GNU General Public License" para obtener mas informacin.
 *
 */
package ips1ap101.lib.core.app;

import java.util.LinkedHashSet;
import java.util.Set;
import ips1ap101.lib.core.enumeration.EnumCriterioOrden;
import org.apache.commons.lang.StringUtils;

/**
 * @author Jorge Campins
 */
public class OrdenConjuntoResultados {

    public OrdenConjuntoResultados() {
        criterios = new LinkedHashSet<>();
    }

    private Set<CriterioOrden> criterios;

    private Set<CriterioOrden> getCriterios() {
        return criterios;
    }

    public boolean addCriterio(String columna) {
        return addCriterio(columna, EnumCriterioOrden.ORDEN_ASCENDENTE);
    }

    public boolean addCriterio(String columna, EnumCriterioOrden orden) {
        if (StringUtils.isBlank(columna)) {
            return false;
        }
        CriterioOrden criterio = new CriterioOrden(columna, orden);
        return criterios.add(criterio);
    }

    public void clear() {
        criterios.clear();
    }

    private static final String COMA = ", ";

    @Override
    public String toString() {
        String order = StringUtils.EMPTY;
        String token;
        for (CriterioOrden criterio : criterios) {
            token = criterio.toString();
            order += StringUtils.isBlank(token) ? "" : COMA + token;
        }
        order = StringUtils.removeStart(order, COMA);
        return StringUtils.trimToNull(order);
    }

}