/*
 * Copyright 2012 The Clustermeister Team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.github.nethad.clustermeister.api;

import java.util.Collection;
import java.util.concurrent.ExecutorService;
import org.jppf.client.JPPFClient;

/**
 *
 * @author thomas
 */
public interface Clustermeister {

    public ExecutorService getExecutorService();

    public JPPFClient getJppfClient();
    
    public Collection<ExecutorNode> getAllNodes();

    public void shutdown();
    
}

@@ -769,211 +769,1482 @@
 *%0A *
-%0A * @author thomas%0A */%0Apublic interface Clustermeister %7B%0A%0A    public ExecutorService getExecutorService();%0A%0A    public JPPFClient getJppfClient();%0A    %0A    public Collection%3CExecutorNode%3E getAllNodes();%0A
+ This is the entry point for the Clustermeister API. %0A * This object is usually instantiated via %7B @link ClustermeisterFactory#create() %7D%0A * @author thomas%0A */%0Apublic interface Clustermeister %7B%0A%0A    /**%0A     * An %7B@link ExecutorService%7D executes code on any node. %0A     * The implementation behind this will take care of load balancing.%0A     * @return an ExecutorService for all nodes provisioned.%0A     */%0A    public ExecutorService getExecutorService();%0A%0A    /**%0A     * The Clustermeister implementation is based on %3Ca href=%22http://www.jppf.org/%22%3EJPPF%3C/a%3E.%0A     * To execute code, the API will connect to a local driver via %7B@link JPPFClient%7D. This method provides%0A     * direct access to that object. However, its use is discouraged and nodes should be accessed via %7B@link #getAllNodes()%7D%0A     * or via %7B@link #getExecutorService()%7D.%0A     * @return an instance of the %7B@link JPPFClient%7D used to connect to a (local) JPPF driver.%0A     */%0A    public JPPFClient getJppfClient();%0A    %0A    /**%0A     * This method returns all nodes that are currently connected.%0A     * For information on how to execute code on the nodes, see %7B@link ExecutorNode%7D.%0A     * @return all nodes currently connected.%0A     */%0A    public Collection%3CExecutorNode%3E getAllNodes();%0A%0A    /**%0A     * Shuts down all currently running executions and closes the connection to the (local) JPPF driver.%0A     * This method is commonly called in a finally-block after all code has been executed on the nodes.%0A     */
 %0A   

add javadoc to the Clustermeister interface