/** * DO NOT EDIT THIS FILE! * This is an auto-generated source code. * To update this file, go to the project folder, then execute: *
* > make trackloader **/ //-------------------------------------- // GenomeBrowser Project // // TrackLoaderUtil.java // Since: 2007/07/18 // // $URL$ // $Author$ //-------------------------------------- <%# usage: > cd $(GenomeBrowser HOME); erb script/TrackLoarderUtil.erb > src/org/utgenome/gwt/utgb/client/track/TrackLoaderUtil.java %> package org.utgenome.gwt.utgb.client.track; import java.util.HashMap; import org.utgenome.gwt.utgb.client.track.Track.TrackFactory; import org.utgenome.gwt.utgb.client.track.TrackGroup.TrackGroupFactory; <% src_folder = "src" track_folder = "org/utgenome/gwt/utgb/client/track" Dir.chdir(src_folder) trackClasses = Dir["#{track_folder}/**/?*Track.java"].collect trackGroupClasses = Dir["#{track_folder}/**/?*TrackGroup.java"].collect trackGroupClasses += Dir["#{track_folder}/**/TrackGroupBase.java"] %> public class TrackLoaderUtil { private static HashMap trackFactoryTable = new HashMap(); private static HashMap trackGroupFactoryTable = new HashMap(); static { <% trackClasses.each { |t| className = t.gsub("\.java", "").gsub("\/", ".") %> trackFactoryTable.put("<%= className %>", <%= className%>.factory()); <% } %> <% trackGroupClasses.each { |t| className = t.gsub("\.java", "").gsub("\/", ".") %> trackGroupFactoryTable.put("<%= className %>", <%= className%>.factory()); <% } %> } public static TrackFactory getTrackFactory(String name) throws UnknownTrackException { TrackFactory factory = (TrackFactory) trackFactoryTable.get(name); if(factory != null) throw new UnknownTrackException("unknown track name: " + name); else return factory; } public static TrackGroupFactory getTrackGroupFactory(String name) throws UnknownTrackException { TrackGroupFactory factory = (TrackGroupFactory) trackGroupFactoryTable.get(name); if(factory != null) throw new UnknownTrackException("unknown track group: " + name); else return factory; } }