litesoft
@ 947
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.reports; import java.util.*; import org.litesoft.uispecification.*; public interface ServerReportFactory { public ViewDef getViewDef(); public ServerReport create( UriFragmentIdParams pUriFragmentIdParams ); public class Registry { private static Map<String, ServerReportFactory> FACTORIES = new HashMap<String, ServerReportFactory>(); public static synchronized void register( ServerReportFactory pFactory ) { String zReportID = pFactory.getViewDef().getFragmentID(); if ( null != FACTORIES.put( zReportID, pFactory ) ) { throw new Error( "Duplicate Report Factory for: " + zReportID ); } } public static synchronized ServerReportFactory getFactory( String pReportID ) { return FACTORIES.get( pReportID ); } } } |