// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.data.projection.proj; import org.openstreetmap.josm.tools.JosmRuntimeException; /** * Proj Factory that creates instances from a given class. */ public class ClassProjFactory implements ProjFactory { private final Class<? extends Proj> projClass; /** * Constructs a new {@code ClassProjFactory}. * @param projClass projection class */ public ClassProjFactory(Class<? extends Proj> projClass) { this.projClass = projClass; } @Override public Proj createInstance() { Proj proj = null; try { proj = projClass.getConstructor().newInstance(); } catch (ReflectiveOperationException e) { throw new JosmRuntimeException(e); } return proj; } }