package org.geotools.process.vector; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.geotools.factory.FactoryRegistry; import org.geotools.process.factory.AnnotatedBeanProcessFactory; import org.geotools.process.factory.DescribeProcess; import org.geotools.process.vector.AggregateProcess; import org.geotools.process.vector.BoundsProcess; import org.geotools.process.vector.BufferFeatureCollection; import org.geotools.process.vector.CentroidProcess; import org.geotools.process.vector.ClipProcess; import org.geotools.process.vector.CollectGeometries; import org.geotools.process.vector.CountProcess; import org.geotools.process.vector.GridProcess; import org.geotools.process.vector.InclusionFeatureCollection; import org.geotools.process.vector.IntersectionFeatureCollection; import org.geotools.process.vector.NearestProcess; import org.geotools.process.vector.PointBuffers; import org.geotools.process.vector.QueryProcess; import org.geotools.process.vector.RectangularClipProcess; import org.geotools.process.vector.ReprojectProcess; import org.geotools.process.vector.SimplifyProcess; import org.geotools.process.vector.SnapProcess; import org.geotools.process.vector.UnionFeatureCollection; import org.geotools.process.vector.UniqueProcess; import org.geotools.process.vector.VectorZonalStatistics; import org.geotools.text.Text; /** * Factory providing a number of processes for working with feature data. * <p> * Internally this factory makes use of the information provided by * the {@link DescribeProcess} annotations to produce the correct * process description. * * @author Jody Garnett (LISAsoft) * * @source $URL$ */ public class VectorProcessFactory extends AnnotatedBeanProcessFactory { static volatile BeanFactoryRegistry<VectorProcess> registry; public static BeanFactoryRegistry<VectorProcess> getRegistry() { if (registry == null) { synchronized (VectorProcessFactory.class) { if (registry == null) { registry = new BeanFactoryRegistry<VectorProcess>(VectorProcess.class); } } } return registry; } public VectorProcessFactory() { super(Text.text("Vector processes"), "vec", getRegistry().lookupBeanClasses()); } }