/* (c) 2014 Open Source Geospatial Foundation - all rights reserved * (c) 2014 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.wms.dimension; import java.io.Serializable; /** * Configures the dynamic dimension values for a specific dimension * * @author Andrea Aime - GeoSolutions */ public final class DefaultValueConfiguration implements Serializable, Cloneable { private static final long serialVersionUID = -4294430917350930217L; public enum DefaultValuePolicy { /** * Use the WMS standard default value, no dynamic computation */ STANDARD, /** * Apply the WMS standard policy against a restricted domain */ LIMIT_DOMAIN, /** * Compute the default value as a ECQL expression of the other dimensions */ EXPRESSION } String dimension; DefaultValuePolicy policy; String defaultValueExpression; /** * * @param dimension * @param policy */ public DefaultValueConfiguration(String dimension, DefaultValuePolicy policy) { this.dimension = dimension; this.policy = policy; } public DefaultValueConfiguration(String dimension, String defaultValueExpression) { this.dimension = dimension; this.policy = DefaultValuePolicy.EXPRESSION; this.defaultValueExpression = defaultValueExpression; } public String getDimension() { return dimension; } public void setDimension(String dimension) { this.dimension = dimension; } public DefaultValuePolicy getPolicy() { return policy; } public void setPolicy(DefaultValuePolicy policy) { this.policy = policy; } public String getDefaultValueExpression() { return defaultValueExpression; } public void setDefaultValueExpression(String defaultValue) { this.defaultValueExpression = defaultValue; } @Override public Object clone() throws CloneNotSupportedException { return super.clone(); } @Override public String toString() { return "DefaultValueConfiguration [dimension=" + dimension + ", policy=" + policy + ", defaultValueExpression=" + defaultValueExpression + "]"; } }