/* (c) 2014 Open Source Geospatial Foundation - all rights reserved * (c) 2013 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.kml.decorator; import org.geoserver.kml.KmlEncodingContext; import de.micromata.opengis.kml.v_2_2_0.Feature; /** * Builds {@link KmlDecorator} instances based on a target KML Feature class and the current * encoding context * * @author Andrea Aime - GeoSolutions * */ public interface KmlDecoratorFactory { KmlDecorator getDecorator(Class<? extends Feature> featureClass, KmlEncodingContext context); /** * Decorates/alters the specified KML {@link Feature} * * @author Andrea Aime - GeoSolutions */ public interface KmlDecorator { /** * Decorates/alters the specified feature. If the return value is null, the feature has * to be skipped and won't be encoded * @param feature * @param context * */ public Feature decorate(Feature feature, KmlEncodingContext context); } }