/* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * See LICENSE.txt included in this distribution for the specific * language governing permissions and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at LICENSE.txt. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. */ package org.opensolaris.opengrok.management; import java.io.IOException; import java.util.Date; import java.util.logging.Level; /** * @author Jan S Berg */ public interface ManagementMBean { /** * Stops the agent, so it is not restarted. */ public void stop(); /** * Get the xml based configuration file * @return String with the file path and name for xml configuration */ public String getConfigurationFile(); /** * Set a new name for the xml based configurationfile * @param filename String name with full path of configurationfile */ public void setConfigurationFile(String filename); /** * Get the URL to the Publish Server we want to * publish the indexed data * @return String URL to the server (hostname:port) */ public String getPublishServerURL(); /** * Set the URL to where to publish opengrok indexed data * @param url String to server for publishing the opengrok.war file */ public void setPublishServerURL(String url); /** * Set update index database property * @param val Boolean true to also run update index database */ public void setUpdateIndexDatabase(Boolean val); /** * Get the udate database property * @return Boolean returns true if update index database is switched on */ public Boolean getUpdateIndexDatabase(); /** * Set number of Threads to use for indexing * @param val how many indexing threads to use */ public void setNumberOfThreads(Integer val); /** * Get number of Threads to use for indexing * @return number of current indexing threads */ public Integer getNumberOfThreads(); /** * Set subfiles * @param sublist array of filenames */ public void setSubFiles(String[] sublist); /** * Get subfiles * @return get StringArray of subfiles to run through */ public String[] getSubFiles(); /** * Get a selected property from JAG configuration. * @param key name of key needed * @return String with property value */ public String getProperty(String key); /** * Set a selected property in the JAG configuration. * JAG will immediately save its configuration to file when a * property is set. * @param key the String key for the property to be set. * $param value the String value for the property to be set. * @param value what to set for the key */ public void setProperty(String key, String value); /** * Get the selected System property * @param key key of the property * @return String with property value */ public String getSystemProperty(String key); /** * Set a selected System property * @param key the String key for the property to be set. * $param value the String value for the property to be set. * @param value what to set for the key */ public void setSystemProperty(String key, String value); /** * Get the selected Environment property * @param key key of the property * @return String with Environment property value */ public String getSystemEnvProperty(String key); /** * Get the time (in milliseconds since 1970) when the agent was started * @return long time when the agent was started, in milliseconds. */ public long getStartTime(); /** * Get a Date object with the time the agent was started. * @return Date with the starting date */ public Date getStartDate(); /** * Get the version tag for the agent * @return String the version tag for this agent */ public String getVersion(); /** * Set the loglevel for the console * @param level the level for console logging */ public void setConsoleLogLevel(Level level); /** * Get the current loglevel for the console * @return Level current console loglevel */ public Level getConsoleLogLevel(); /** * set the file log level * @param level the level for file logging */ public void setFileLogLevel(Level level); /** * get the loglevel on the agent logfile * @return Level for file logging */ public Level getFileLogLevel(); /** * Set the path for the file logging * @param path String path to where to log * @throws IOException if path does not exist or could be created on server */ public void setFileLogPath(String path) throws IOException; /** * Get the file logpath * @return String file log path */ public String getFileLogPath(); }