1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 package org.apache.commons.daemon;
19
20 /**
21 * Defines a set of methods that a Daemon instance can use to
22 * communicate with the Daemon container.
23 */
24 public interface DaemonContext
25 {
26
27 /**
28 * Gets a {@link DaemonController} object that can be used to control
29 * the {@link Daemon} instance that this {@code DaemonContext}
30 * is passed to.
31 *
32 * @return A {@link DaemonController} object that can be used to control
33 * the {@link Daemon}.
34 */
35 DaemonController getController();
36
37 /**
38 * Gets an array of {@link String} arguments supplied by the environment
39 * corresponding to the array of arguments given in the
40 * {@code public static void main()} method used as an entry
41 * point to most other Java programs.
42 *
43 * @return An array of {@link String} arguments supplied by the environment.
44 */
45 String[] getArguments();
46
47 }
48