001 // License: GPL. For details, see LICENSE file. 002 package org.openstreetmap.josm.data.projection.proj; 003 004 /** 005 * Proj Factory that creates instances from a given class. 006 */ 007 public class ClassProjFactory implements ProjFactory { 008 009 private 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 e) { 021 throw new RuntimeException(e); 022 } catch (IllegalAccessException e) { 023 throw new RuntimeException(e); 024 } 025 return proj; 026 } 027 }