Package org.geoserver.web.data.layer

Source Code of org.geoserver.web.data.layer.Parameter

package org.geoserver.web.data.layer;

import java.io.Serializable;
import java.util.logging.Level;

import org.geotools.jdbc.RegexpValidator;
import org.geotools.jdbc.VirtualTableParameter;
import org.geotools.jdbc.VirtualTableParameter.Validator;

class Parameter implements Serializable {
    String name;

    String defaultValue;

    String regexp;
   
   

    public Parameter(String name, String defaultValue, String regexp) {
        this.name = name;
        this.defaultValue = defaultValue;
        this.regexp = regexp;
    }

    public Parameter(VirtualTableParameter param) {
        this.name = param.getName();
        this.defaultValue = param.getDefaultValue();
        Validator validator = param.getValidator();
        if (validator != null) {
            if (validator instanceof RegexpValidator) {
                this.regexp = ((RegexpValidator) validator).getPattern().pattern();
            } else {
                SQLViewParamProvider.LOGGER.log(Level.WARNING, "Skipping unknown validator type "
                        + validator.getClass());
            }
        }
    }
   
    public VirtualTableParameter toVirtualTableParameter() {
        VirtualTableParameter result = new VirtualTableParameter(name, defaultValue);
        if(regexp != null) {
            result.setValidator(new RegexpValidator(regexp));
        }
        return result;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDefaultValue() {
        return defaultValue;
    }

    public void setDefaultValue(String defaultValue) {
        this.defaultValue = defaultValue;
    }

    public String getRegexp() {
        return regexp;
    }

    public void setRegexp(String regexp) {
        this.regexp = regexp;
    }
   
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((defaultValue == null) ? 0 : defaultValue.hashCode());
        result = prime * result + ((name == null) ? 0 : name.hashCode());
        result = prime * result + ((regexp == null) ? 0 : regexp.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Parameter other = (Parameter) obj;
        if (defaultValue == null) {
            if (other.defaultValue != null)
                return false;
        } else if (!defaultValue.equals(other.defaultValue))
            return false;
        if (name == null) {
            if (other.name != null)
                return false;
        } else if (!name.equals(other.name))
            return false;
        if (regexp == null) {
            if (other.regexp != null)
                return false;
        } else if (!regexp.equals(other.regexp))
            return false;
        return true;
    }

    @Override
    public String toString() {
        return "Parameter [defaultValue=" + defaultValue + ", name=" + name + ", regexp=" + regexp
                + "]";
    }
   
   
}
TOP

Related Classes of org.geoserver.web.data.layer.Parameter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.