001 /**
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements. See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License. You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017 package org.apache.geronimo.cli.deployer;
018
019 import org.apache.geronimo.cli.CLParserException;
020
021
022 /**
023 * @version $Rev: 706640 $ $Date: 2008-10-21 14:44:05 +0000 (Tue, 21 Oct 2008) $
024 */
025 public abstract class BaseCommandMetaData implements CommandMetaData {
026 private final String command;
027 private final String group;
028 private final String helpArgumentList;
029 private final String helpText;
030
031 protected BaseCommandMetaData(String command, String group, String helpArgumentList, String helpText) {
032 if (null == command) {
033 throw new IllegalArgumentException("command is required");
034 } else if (null == group) {
035 throw new IllegalArgumentException("group is required");
036 } else if (null == helpArgumentList) {
037 throw new IllegalArgumentException("helpArgumentList is required");
038 } else if (null == helpText) {
039 throw new IllegalArgumentException("helpText is required");
040 }
041 this.command = command;
042 this.group = group;
043 this.helpArgumentList = helpArgumentList;
044 this.helpText = helpText;
045 }
046
047 public CommandArgs parse(String[] newArgs) throws CLParserException {
048 return new BaseCommandArgs(newArgs);
049 }
050
051 public String getCommandName() {
052 return command;
053 }
054
055 public String getHelpArgumentList() {
056 return helpArgumentList;
057 }
058
059 public String getHelpText() {
060 return helpText;
061 }
062
063 public String getCommandGroup() {
064 return group;
065 }
066
067 }