1 /** 2 * Copyright (c) 2002-2011 "Neo Technology," 3 * Network Engine for Objects in Lund AB [http://neotechnology.com] 4 * 5 * This file is part of Neo4j. 6 * 7 * Neo4j is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 package org.neo4j.server; 21 22 import java.net.URI; 23 import java.util.Collection; 24 import java.util.List; 25 26 import org.apache.commons.configuration.Configuration; 27 import org.neo4j.server.configuration.Configurator; 28 import org.neo4j.server.database.Database; 29 import org.neo4j.server.plugins.Injectable; 30 import org.neo4j.server.plugins.PluginManager; 31 32 public interface NeoServer { 33 void start(); 34 35 Configuration getConfiguration(); 36 37 void stop(); 38 39 Database getDatabase(); 40 41 Configurator getConfigurator(); 42 43 PluginManager getExtensionManager(); 44 45 Collection<Injectable<?>> getInjectables( List<String> packageNames ); 46 47 URI baseUri(); 48 }