68 lines
2.0 KiB
Java
Raw Normal View History

2010-02-08 15:30:06 +02:00
/*
* Licensed to Elasticsearch under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch licenses this file to you 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
2010-02-08 15:30:06 +02:00
*
* 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 org.elasticsearch.node;
2010-02-08 15:30:06 +02:00
import org.elasticsearch.client.Client;
import org.elasticsearch.common.lease.Releasable;
import org.elasticsearch.common.settings.Settings;
2010-02-08 15:30:06 +02:00
/**
* A node represent a node within a cluster (<tt>cluster.name</tt>). The {@link #client()} can be used
2010-02-13 20:03:37 +02:00
* in order to use a {@link Client} to perform actions/operations against the cluster.
2011-12-06 02:42:25 +02:00
* <p/>
* <p>In order to create a node, the {@link NodeBuilder} can be used. When done with it, make sure to
2010-02-13 20:03:37 +02:00
* call {@link #close()} on it.
*
2011-12-06 02:42:25 +02:00
*
2010-02-08 15:30:06 +02:00
*/
public interface Node extends Releasable {
2010-02-08 15:30:06 +02:00
2010-02-13 20:03:37 +02:00
/**
* The settings that were used to create the node.
2010-02-13 20:03:37 +02:00
*/
2010-02-08 15:30:06 +02:00
Settings settings();
2010-02-13 20:03:37 +02:00
/**
* A client that can be used to execute actions (operations) against the cluster.
*/
2010-02-08 15:30:06 +02:00
Client client();
2010-02-13 20:03:37 +02:00
/**
* Start the node. If the node is already started, this method is no-op.
2010-02-13 20:03:37 +02:00
*/
Node start();
2010-02-08 15:30:06 +02:00
2010-02-13 20:03:37 +02:00
/**
2011-01-15 02:15:36 +02:00
* Stops the node. If the node is already stopped, this method is no-op.
2010-02-13 20:03:37 +02:00
*/
Node stop();
2010-02-08 15:30:06 +02:00
2010-02-13 20:03:37 +02:00
/**
* Closes the node (and {@link #stop}s if its running).
2010-02-13 20:03:37 +02:00
*/
@Override
2010-02-08 15:30:06 +02:00
void close();
/**
* Returns <tt>true</tt> if the node is closed.
*/
boolean isClosed();
2010-02-08 15:30:06 +02:00
}