All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.mapfish.print.map.MapLayerFactoryPlugin Maven / Gradle / Ivy

There is a newer version: 3.22.0
Show newest version
package org.mapfish.print.map;

import org.mapfish.print.attribute.map.MapLayer;
import org.mapfish.print.config.Template;

import java.io.IOException;
import java.util.Set;
import javax.annotation.Nonnull;

/**
 * Parses layer request data and creates a MapLayer from it.
 *
 * @param  the type of object that will be populated from the JSON and passed to the factory to
 *         create the layer.
 */
public interface MapLayerFactoryPlugin {

    /**
     * Return a set of all the values the json 'type' property should have for this plugin to apply typenames
     * MUST be lowercase.
     */
    Set getTypeNames();

    /**
     * Create an instance of a param object.  Each instance must be new and unique. Instances must
     * NOT be shared.
     * 

* The object will be populated from the json. Each public field will be populated by looking up the * value in the json. *

* The same mechanism used for reading from the JSON into the param object is also used for parsing the * JSON into {@link org.mapfish.print.attribute.Attribute} value objects. See {@link * org.mapfish.print.attribute.ReflectiveAttribute#createValue(org.mapfish.print.config.Template)}()} for * details on how the parsing mechanism works. */ Param createParameter(); /** * Inspect the json data and return Optional<MapLayer> or Optional.absent(). * * @param template the configuration related to the current request. * @param layerData an object populated from the json for the layer */ @Nonnull MapLayer parse( @Nonnull Template template, @Nonnull Param layerData) throws IOException; }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy