public TextSymbolizerBuilder reset() { fill.reset(); // TODO: default fill for text? halo.unset(); // no default halo label = null; geometry = null; placement.reset(); options.clear(); uom = null; unset = false; return this; }
public TextSymbolizerBuilder reset(TextSymbolizer symbolizer) { fill.reset(symbolizer.getFill()); halo.reset(symbolizer.getHalo()); label = symbolizer.getLabel(); geometry = symbolizer.getGeometryPropertyName(); LabelPlacement otherPlacement = symbolizer.getLabelPlacement(); if (symbolizer.getLabelPlacement() instanceof PointPlacement) { PointPlacementBuilder builder = new PointPlacementBuilder(this); builder.reset((PointPlacement) otherPlacement); placement = builder; } else if (symbolizer.getLabelPlacement() instanceof LabelPlacement) { LinePlacementBuilder builder = new LinePlacementBuilder(this); builder.reset((LinePlacement) otherPlacement); placement = builder; } else { throw new IllegalArgumentException("Unrecognized label placement: " + otherPlacement); } unset = false; return this; }
public TextSymbolizer build() { if (unset) { return null; } Font[] array = new Font[fonts.size()]; for (int i = 0; i < array.length; i++) { array[i] = fonts.get(i).build(); } TextSymbolizer ts = sf.createTextSymbolizer( fill.build(), array, halo.build(), label, placement.build(), geometry); if (uom != null) { ts.setUnitOfMeasure(uom); } if (ts instanceof TextSymbolizer2 && options != null) { TextSymbolizer2 ts2 = (TextSymbolizer2) ts; ts2.getOptions().putAll(options); } reset(); return ts; }