01: /*****************************************************************************
02: * Java Plug-in Framework (JPF)
03: * Copyright (C) 2004-2005 Dmitry Olshansky
04: *
05: * This library is free software; you can redistribute it and/or
06: * modify it under the terms of the GNU Lesser General Public
07: * License as published by the Free Software Foundation; either
08: * version 2.1 of the License, or (at your option) any later version.
09: *
10: * This library is distributed in the hope that it will be useful,
11: * but WITHOUT ANY WARRANTY; without even the implied warranty of
12: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13: * Lesser General Public License for more details.
14: *
15: * You should have received a copy of the GNU Lesser General Public
16: * License along with this library; if not, write to the Free Software
17: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18: *****************************************************************************/package org.java.plugin.boot;
19:
20: import org.java.plugin.Plugin;
21: import org.java.plugin.util.ExtendedProperties;
22:
23: /**
24: * This class is for "application" plug-ins - a JPF based program entry point.
25: * The class is part of "standard boot scenario" when
26: * {@link org.java.plugin.boot.DefaultApplicationInitializer} is used for
27: * application initializing.
28: *
29: * @version $Id$
30: */
31: public abstract class ApplicationPlugin extends Plugin {
32: /**
33: * This method should instantiate and configure application instance that
34: * will then be started.
35: * @param config application configuration data, see
36: * {@link DefaultApplicationInitializer} for description on
37: * how plug-in configuration data composed from
38: * <code>boot.properties</code>
39: * @param args command line arguments as they passed to program
40: * <code>main</code> method
41: * @return initialized ready to start application instance
42: * @throws Exception if any error has occurred during application
43: * initializing
44: */
45: protected abstract Application initApplication(
46: ExtendedProperties config, String[] args) throws Exception;
47: }
|