components/visual-panels/core/src/java/util/com/oracle/solaris/vp/util/cli/OptionFormatter.java
--- a/components/visual-panels/core/src/java/util/com/oracle/solaris/vp/util/cli/OptionFormatter.java Tue Dec 16 05:53:51 2014 -0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
- * 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.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License 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 usr/src/OPENSOLARIS.LICENSE.
- * 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) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
- */
-
-package com.oracle.solaris.vp.util.cli;
-
-import java.util.ArrayList;
-import com.oracle.solaris.vp.util.misc.TextUtil;
-
-public abstract class OptionFormatter {
- //
- // Static data
- //
-
- public static final String OPT_LIST_DELIM = " ";
- public static final String OPT_NAME_DELIM = ",";
- public static final String OPT_CHOICE_DELIM = " | ";
- public static final String OPT_REQUIRED_ENCLOSE_LEFT = "[";
- public static final String OPT_REQUIRED_ENCLOSE_RIGHT = "]";
- public static final String OPT_GROUP_ENCLOSE_LEFT = "(";
- public static final String OPT_GROUP_ENCLOSE_RIGHT = ")";
- public static final String OPT_ARG_ENCLOSE_LEFT = "<";
- public static final String OPT_ARG_ENCLOSE_RIGHT = ">";
- public static final String OPT_REPEAT = "...";
-
- //
- // OptionFormatter methods
- //
-
- public String getFormatted(Option opt, boolean allNames) {
- return getFormatted(opt, allNames, false, true);
- }
-
- public String getFormatted(String opt) {
- return getFormatted(new String[] {opt});
- }
-
- public String getFormatted(String opt, String optArg) {
- return getFormatted(new String[] {opt}, optArg);
- }
-
- public abstract String getFormatted(String[] opts);
-
- public abstract String getFormatted(String[] opts, String optArg);
-
- //
- // Private methods
- //
-
- private String getFormatted(Option opt, boolean allNames,
- boolean showGroup, boolean required) {
-
- StringBuilder buffer = new StringBuilder();
-
- if (!required) {
- buffer.append(OPT_REQUIRED_ENCLOSE_LEFT);
- showGroup = false;
- }
-
- if (opt instanceof OptionElement) {
- OptionElement element = (OptionElement)opt;
-
- buffer.append(allNames ?
- getFormatted(element.getNames(), element.getArgName()) :
- getFormatted(element.getName(), element.getArgName()));
-
- if (element.getUseLimit() < 0) {
- buffer.append(OPT_REPEAT);
- }
- } else
-
- if (opt instanceof OptionGroup) {
- ArrayList<String> list = new ArrayList<String>();
- String delim = opt instanceof OptionChoiceGroup ?
- OPT_CHOICE_DELIM : OPT_LIST_DELIM;
-
- for (Option subOpt : ((OptionGroup)opt).getOptions()) {
- if (subOpt.isDocumented()) {
- list.add(getFormatted(subOpt, allNames, showGroup,
- opt instanceof OptionChoiceGroup ?
- true : subOpt.isRequired()));
- }
- }
-
- if (showGroup) {
- buffer.append(OPT_GROUP_ENCLOSE_LEFT);
- }
-
- buffer.append(TextUtil.join(delim, list));
-
- if (showGroup) {
- buffer.append(OPT_GROUP_ENCLOSE_RIGHT);
- }
- }
-
- if (!required) {
- buffer.append(OPT_REQUIRED_ENCLOSE_RIGHT);
- }
-
- return buffer.toString();
- }
-}