From f4b4a695f425c1c60c375fe3af1b3b5e34499e2e Mon Sep 17 00:00:00 2001 From: Sebastian Graca Date: Sat, 22 Sep 2012 14:32:23 +0200 Subject: [PATCH] add parameter for multiple input transparent colors --- .../coverage/grid/io/AbstractGridFormat.java | 6 ++++++ .../src/main/java/org/geotools/util/Utilities.java | 14 ++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/modules/library/coverage/src/main/java/org/geotools/coverage/grid/io/AbstractGridFormat.java b/modules/library/coverage/src/main/java/org/geotools/coverage/grid/io/AbstractGridFormat.java index d8e45de90ae..ad774d92332 100644 --- a/modules/library/coverage/src/main/java/org/geotools/coverage/grid/io/AbstractGridFormat.java +++ b/modules/library/coverage/src/main/java/org/geotools/coverage/grid/io/AbstractGridFormat.java @@ -19,6 +19,7 @@ import java.awt.Color; import java.util.List; import java.util.Map; +import java.util.Set; import javax.imageio.ImageWriteParam; @@ -31,6 +32,7 @@ import org.geotools.parameter.DefaultParameterDescriptor; import org.geotools.referencing.crs.DefaultEngineeringCRS; import org.geotools.referencing.factory.epsg.CartesianAuthorityFactory; +import org.geotools.util.Utilities; import org.opengis.coverage.grid.Format; import org.opengis.coverage.grid.GridCoverageReader; import org.opengis.coverage.grid.GridCoverageWriter; @@ -188,6 +190,10 @@ public abstract class AbstractGridFormat implements Format { public static final ParameterDescriptor INPUT_TRANSPARENT_COLOR = new DefaultParameterDescriptor( "InputTransparentColor", Color.class, null, null); + /** Control the transparency of the input coverages (allows to set multiple transparent colors). */ + public static final ParameterDescriptor> INPUT_TRANSPARENT_COLORS = new DefaultParameterDescriptor>( + "InputTransparentColors", Utilities.>>cast(Set.class), null, null); + /** Control the background color to be used where the input was transparent */ public static final ParameterDescriptor BACKGROUND_COLOR = new DefaultParameterDescriptor( "BackgroundColor", Color.class, null, null); diff --git a/modules/library/metadata/src/main/java/org/geotools/util/Utilities.java b/modules/library/metadata/src/main/java/org/geotools/util/Utilities.java index f00d9ffa241..6e09c888d76 100644 --- a/modules/library/metadata/src/main/java/org/geotools/util/Utilities.java +++ b/modules/library/metadata/src/main/java/org/geotools/util/Utilities.java @@ -148,6 +148,20 @@ protected Object readResolve() throws ObjectStreamException { */ private Utilities() { } + + /** + * Casts passed value to inferred type T. + * + * Can be used to eliminate usge of {@code @SuppressWarnings("unchecked")} in code. + * + * @param obj an object to be cast to type T. + * + * @return the object cast to type T. + */ + @SuppressWarnings("unchecked") + public static T cast(Object obj) { + return (T)obj; + } /** * Returns {@code true} if the given booleans are equals. This overloaded flavor is provided