00001 package edu.tum.cs.vis.model; 00002 00003 import edu.tum.cs.vis.model.parser.ModelParser; 00004 00011 public class ItemModel { 00012 00016 private String path; 00017 00021 private ModelParser parser; 00022 00028 public ItemModel(String path) { 00029 System.out.println("MODEL PATH: " + path); 00030 this.path = path; 00031 parseModel(); 00032 } 00033 00034 public String getPath() { 00035 return path; 00036 } 00037 00038 public void setPath(String path) { 00039 this.path = path; 00040 } 00041 00042 public ModelParser getParser() { 00043 return parser; 00044 } 00045 00046 public void setParser(ModelParser parser) { 00047 this.parser = parser; 00048 } 00049 00055 public boolean parseModel() { 00056 if (path == null) 00057 return false; 00058 Class<? extends ModelParser> cl = ModelParser.findParser(path); 00059 if (cl == null) 00060 { 00061 System.out.println("No parser found for: " + path); 00062 return false; 00063 } 00064 try { 00065 parser = (ModelParser) cl.newInstance(); 00066 } catch (InstantiationException e) { 00067 System.out.println("Couldn't instantiate parser for: " + path); 00068 e.printStackTrace(); 00069 } catch (IllegalAccessException e) { 00070 System.out.println("Couldn't instantiate parser for: " + path); 00071 e.printStackTrace(); 00072 } 00073 return parser.loadModel(path); 00074 } 00075 00076 }