package org.geotools.styling.builder;
import org.geotools.styling.Description;
import org.geotools.util.SimpleInternationalString;
import org.opengis.util.InternationalString;
/**
*
*
* @source $URL$
*/
public class DescriptionBuilder extends AbstractStyleBuilder<Description> {
private InternationalString title;
private InternationalString description;
public DescriptionBuilder() {
this(null);
}
public DescriptionBuilder(AbstractStyleBuilder<?> parent) {
super(parent);
reset();
}
public Description build() {
if (unset) {
return null;
}
Description descript = sf.description(title, description);
if (parent == null) {
reset();
}
return descript;
}
public DescriptionBuilder reset() {
unset = false;
title = null;
description = null;
return this;
}
public DescriptionBuilder title(InternationalString title) {
this.title = title;
unset = false;
return this;
}
public DescriptionBuilder title(String title) {
return title(new SimpleInternationalString(title));
}
public DescriptionBuilder description(InternationalString description) {
this.description = description;
unset = false;
return this;
}
public DescriptionBuilder description(String description) {
return description(new SimpleInternationalString(description));
}
public DescriptionBuilder reset(Description original) {
unset = false;
title = original.getTitle();
description = original.getAbstract();
return this;
}
public DescriptionBuilder unset() {
unset = true;
title = null;
description = null;
return this;
}
@Override
protected void buildStyleInternal(StyleBuilder sb) {
throw new UnsupportedOperationException(
"Does not make sense to build a style out of a description");
}
}