/* (c) 2014 Open Source Geospatial Foundation - all rights reserved * (c) 2012 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.csw.records; import org.geotools.geometry.jts.ReferencedEnvelope; import org.opengis.feature.Feature; /** * A helper that builds records as GeoTools features * * @author Niels Charlier */ public interface RecordBuilder { /** * Adds an element to the current record * * @param name name of property * @param values value(s) to be attached to property */ public void addElement(String name, String... values); public void addElement(String name, int splitIndex, String... values); /** * Adds a bounding box to the record. The envelope must be in WGS84 * * @param env the bounding box */ public void addBoundingBox(ReferencedEnvelope env); /** * Builds a record and sets up to work on the next one * * @param id the feature identifier * @return the feature */ public Feature build(String id) ; }