/*- * Copyright 2015 Diamond Light Source Ltd. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html */ package org.eclipse.dawnsci.json.internal; import java.util.Collections; import java.util.HashMap; import java.util.Map; import org.eclipse.dawnsci.analysis.api.persistence.IClassRegistry; import org.eclipse.dawnsci.analysis.api.roi.IROI; import org.eclipse.dawnsci.analysis.dataset.roi.CircularFitROI; import org.eclipse.dawnsci.analysis.dataset.roi.CircularROI; import org.eclipse.dawnsci.analysis.dataset.roi.EllipticalFitROI; import org.eclipse.dawnsci.analysis.dataset.roi.EllipticalROI; import org.eclipse.dawnsci.analysis.dataset.roi.FreeDrawROI; import org.eclipse.dawnsci.analysis.dataset.roi.GridROI; import org.eclipse.dawnsci.analysis.dataset.roi.HyperbolicROI; import org.eclipse.dawnsci.analysis.dataset.roi.LinearROI; import org.eclipse.dawnsci.analysis.dataset.roi.ParabolicROI; import org.eclipse.dawnsci.analysis.dataset.roi.PerimeterBoxROI; import org.eclipse.dawnsci.analysis.dataset.roi.PointROI; import org.eclipse.dawnsci.analysis.dataset.roi.PolygonalROI; import org.eclipse.dawnsci.analysis.dataset.roi.PolylineROI; import org.eclipse.dawnsci.analysis.dataset.roi.RectangularROI; import org.eclipse.dawnsci.analysis.dataset.roi.RingROI; import org.eclipse.dawnsci.analysis.dataset.roi.SectorROI; import org.eclipse.dawnsci.analysis.dataset.roi.XAxisBoxROI; import org.eclipse.dawnsci.analysis.dataset.roi.YAxisBoxROI; public class ROIClassRegistry implements IClassRegistry { private static final Map<String, Class<?>> idToClassMap; static { Map<String, Class<?>> tmp = new HashMap<String, Class<?>>(); tmp.put("roi.iroi", IROI.class); tmp.put("roi.circularfit", CircularFitROI.class); tmp.put("roi.circular", CircularROI.class); tmp.put("roi.ellipticalfit", EllipticalFitROI.class); tmp.put("roi.elliptical", EllipticalROI.class); tmp.put("roi.freedraw", FreeDrawROI.class); tmp.put("roi.grid", GridROI.class); tmp.put("roi.hyperbolic", HyperbolicROI.class); tmp.put("roi.linear", LinearROI.class); tmp.put("roi.parabolic", ParabolicROI.class); tmp.put("roi.perimeterbox", PerimeterBoxROI.class); tmp.put("roi.point", PointROI.class); tmp.put("roi.polygonal", PolygonalROI.class); tmp.put("roi.polyline", PolylineROI.class); tmp.put("roi.rectangular", RectangularROI.class); tmp.put("roi.ring", RingROI.class); tmp.put("roi.sector", SectorROI.class); tmp.put("roi.xaxisbox", XAxisBoxROI.class); tmp.put("roi.yaxisbox", YAxisBoxROI.class); idToClassMap = Collections.unmodifiableMap(tmp); } @Override public Map<String, Class<?>> getIdToClassMap() { return idToClassMap; } }