package org.geotools.styling.builder;
import org.geotools.Builder;
import org.geotools.factory.CommonFactoryFinder;
import org.geotools.styling.StyleFactory;
import org.geotools.styling.UserLayer;
public class UserLayerBuilder<P> implements Builder<UserLayer> {
P parent;
StyleFactory sf = CommonFactoryFinder.getStyleFactory(null);
private boolean unset;
public UserLayerBuilder() {
this( null );
}
public UserLayerBuilder(P parent) {
this.parent = parent;
reset();
}
public UserLayerBuilder<P> unset() {
reset();
unset = true;
return this;
}
/**
* Reset stroke to default values.
*/
public UserLayerBuilder<P> reset() {
unset = false;
return this;
}
/**
* Reset builder to provided original stroke.
*
* @param stroke
*/
public UserLayerBuilder<P> reset(UserLayer stroke) {
unset = false;
return this;
}
public UserLayer build() {
if (unset) {
return null;
}
UserLayer layer = sf.createUserLayer();
return layer;
}
public P end(){
return parent;
}
}