package org.geotools.filter.expression; import org.geotools.Builder; import org.geotools.factory.CommonFactoryFinder; import org.opengis.filter.FilterFactory; import org.opengis.filter.expression.Literal; public class LiteralBuilder implements Builder<Literal> { protected FilterFactory ff = CommonFactoryFinder.getFilterFactory2(null); Object literal = null; // will result in Expression.NIL boolean unset = false; public LiteralBuilder(){ reset(); } public LiteralBuilder( Literal literal){ reset( literal ); } public LiteralBuilder value( Object literal ){ this.literal = literal; unset = false; return this; } public Literal build() { if( unset ){ return null; } return ff.literal( literal ); } public LiteralBuilder reset() { unset = false; literal = null; return this; } public LiteralBuilder reset(Literal original) { unset = false; literal = original.getValue(); return this; } public LiteralBuilder unset() { unset = true; return this; } }