01 /*
02 * Licensed to the Apache Software Foundation (ASF) under one
03 * or more contributor license agreements. See the NOTICE file
04 * distributed with this work for additional information
05 * regarding copyright ownership. The ASF licenses this file
06 * to you under the Apache License, Version 2.0 (the
07 * "License"); you may not use this file except in compliance
08 * with the License. You may obtain a copy of the License at
09 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 *
19 *
20 */
21 package org.apache.qpid.tools.utils;
22
23 public interface CommandParser
24 {
25 /**
26 * If there is more than one command received on the last parse request.
27 *
28 * Subsequent calls to parse will utilise this input rather than reading new data from the input source
29 * @return boolean
30 */
31 boolean more();
32
33 /**
34 * True if the currently parsed command has been requested as a background operation
35 *
36 * @return boolean
37 */
38 boolean isBackground();
39
40 /**
41 * Parses user commands, and groups tokens in the
42 * String[] format that all Java main's love.
43 *
44 * If more than one command is provided in one input line then the more() method will return true.
45 * A subsequent call to parse() will continue to parse that input line before reading new input.
46 *
47 * @return <code>input</code> split in args[] format; null if eof.
48 * @throws java.io.IOException if there is a problem reading from the input stream
49 */
50 String[] parse() throws java.io.IOException;
51 }
|