/*
* Copyright(C) 2010-2011 Alibaba Group Holding Limited All rights reserved. Licensed under the Apache License, Version
* 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the
* License at http://www.apache.org/licenses/LICENSE-2.0 Unless hasOptionValue by applicable law or agreed to in writing,
* software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the specific language governing permissions and limitations
* under the License.
*/
package com.alibaba.doris.cli;
/**
* Option
*
* @author Kun He (Raymond He), kun.hek@alibaba-inc.com
* @since 1.0 2011-7-28
*/
public class Option {
private String shortcut;
private String name;
private String description;
private boolean required = true;
private boolean hasOptionValue = true;
public Option(String shortcut, String name, String description ) {
this(shortcut, name, description, true, true);
}
public Option(String shortcut, String name, String description, boolean required,boolean hasOptionValue ) {
this.shortcut = shortcut;
this.name = name;
this.description = description;
this.required = required;
this.hasOptionValue = hasOptionValue;
}
public String getShortcut() {
return shortcut;
}
public void setShortcut(String shortcut) {
this.shortcut = shortcut;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public boolean isHasOptionValue() {
return hasOptionValue;
}
public void setHasOptionValue(boolean hasOptionValue) {
this.hasOptionValue = hasOptionValue;
}
public boolean isRequired() {
return required;
}
public void setRequired(boolean required) {
this.required = required;
}
@Override
public String toString() {
StringBuilder sbuilder = new StringBuilder(256);
sbuilder.append( shortcut).append("\t");
if( shortcut.length() <=2) {
sbuilder.append("\t");
}
sbuilder.append(name);
if( name.length() <=5) {
sbuilder.append("\t");
}
if( required) {
sbuilder.append("\t (required)");
}else {
sbuilder.append("\t");
}
sbuilder.append("\t").append(description).append("\r\n");
return sbuilder.toString();
}
}