package org.geotools.styling.builder; import org.geotools.styling.ShadedRelief; import org.opengis.filter.expression.Expression; /** * * * @source $URL$ */ public class ShadedReliefBuilder extends AbstractStyleBuilder<ShadedRelief> { private Expression factor; private boolean brightnessOnly; public ShadedReliefBuilder() { this(null); } public ShadedReliefBuilder(AbstractStyleBuilder<?> parent) { super(parent); reset(); } public ShadedReliefBuilder factor(Expression factor) { this.factor = factor; unset = false; return this; } public ShadedReliefBuilder factor(double factor) { return factor(literal(factor)); } public ShadedReliefBuilder factor(String cqlExpression) { return factor(cqlExpression(cqlExpression)); } public ShadedReliefBuilder brightnessOnly(boolean brightnessOnly) { this.brightnessOnly = brightnessOnly; unset = false; return this; } public ShadedRelief build() { if (unset) { return null; } ShadedRelief relief = sf.shadedRelief(factor, brightnessOnly); return relief; } public ShadedReliefBuilder reset() { factor = literal(0); brightnessOnly = false; unset = false; return this; } public ShadedReliefBuilder reset(ShadedRelief relief) { if (relief == null) { return reset(); } brightnessOnly = relief.isBrightnessOnly(); factor = relief.getReliefFactor(); unset = false; return this; } public ShadedReliefBuilder unset() { return (ShadedReliefBuilder) super.unset(); } @Override protected void buildStyleInternal(StyleBuilder sb) { sb.featureTypeStyle().rule().raster().shadedRelief().init(this); } }