All Downloads are FREE. Search and download functionalities are using the official Maven repository.

at.spardat.xma.boot.component.IBootRuntime Maven / Gradle / Ivy

/*******************************************************************************
 * Copyright (c) 2003, 2007 s IT Solutions AT Spardat GmbH .
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     s IT Solutions AT Spardat GmbH - initial API and implementation
 *******************************************************************************/

/*
 * Created on : 26.01.2004
 * Created by : s3595
 */

package at.spardat.xma.boot.component;

/**
 * interface used by the runtime to communicate with the boot runtime
 *
 * @author s3595
 * @version $Id: IBootRuntime.java 2084 2007-11-27 14:53:31Z s3460 $
 */
public interface IBootRuntime {

    /**
     * get a component
     *
     * @param component the absolute uri of the desired component in another or the same webapplication.
     *
     * @return IComponent the component
     * @throws Exception unable to load, create or instantiate the component
     */
    public IComponent getComponent( String component) throws Exception;

    /**
     * cleanup components and application resources.
     * logout from application, if this component is the last one for this application.
     *
     * @param rtc  the terminating component
     */
    public void endComponent(IComponent rtc) ;

    /**
     * get digest (version hash code) for the current application
     *
     * @return digest byte array
     */
    public byte[] getDigest();

    /**
     * get the name of the class that implements the interface name given as input parameter.
     * returns the client implemenation
     *
     * @param    interfaceName name of the plugin interface
     * @return   name of the implementation class.
     */
    public String getPluginImplClient( String interfaceName );

}








© 2015 - 2024 Weber Informatics LLC | Privacy Policy