001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.data.projection.proj; 003 004/** 005 * Proj Factory that creates instances from a given class. 006 */ 007public class ClassProjFactory implements ProjFactory { 008 009 private final Class<? extends Proj> projClass; 010 011 public ClassProjFactory(Class<? extends Proj> projClass) { 012 this.projClass = projClass; 013 } 014 015 @Override 016 public Proj createInstance() { 017 Proj proj = null; 018 try { 019 proj = projClass.newInstance(); 020 } catch (InstantiationException | IllegalAccessException e) { 021 throw new RuntimeException(e); 022 } 023 return proj; 024 } 025}