it.jnrpe.plugins.factory.COption.java Source code

Java tutorial

Introduction

Here is the source code for it.jnrpe.plugins.factory.COption.java

Source

/*
 * Copyright (c) 2008 Massimiliano Ziccardi
 *  
 * 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 required 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 it.jnrpe.plugins.factory;

import org.apache.commons.cli.Option;

public class COption {
    //   <option opt="" hasArgs="" required="" optionalArgs="" 
    //      argName="" argsCount="" longOpt="" type="" valueSeparator="" 
    //      description=""/>

    private String m_sOption = null;
    private boolean m_bHasArgs = false;
    private Integer m_iArgsCount = null;
    private boolean m_bRequired = false;
    private Boolean m_bArgsOptional = null;
    private String m_sArgName = null;
    private String m_sLongOpt = null;
    private String m_sType = null;
    private String m_sValueSeparator = null;
    private String m_sDescription = null;

    public COption() {

    }

    public String getOption() {
        return m_sOption;
    }

    public void setOption(String sOption) {
        m_sOption = sOption;
    }

    public boolean hasArgs() {
        return m_bHasArgs;
    }

    public void setHasArgs(String sHasArgs) {
        m_bHasArgs = sHasArgs.equals("true");
    }

    public Integer getArgsCount() {
        return m_iArgsCount;
    }

    public void setArgsCount(String sArgsCount) {
        m_iArgsCount = new Integer(sArgsCount);
    }

    public String getRequired() {
        return "" + m_bRequired;
    }

    public void setRequired(String sRequired) {
        m_bRequired = sRequired.equals("true");
    }

    public Boolean getArgsOptional() {
        return m_bArgsOptional;
    }

    public void setArgsOptional(String sArgsOptional) {
        m_bArgsOptional = new Boolean(sArgsOptional.equals("true"));
    }

    public String getArgName() {
        return m_sArgName;
    }

    public void setArgName(String sArgName) {
        m_sArgName = sArgName;
    }

    public String getLongOpt() {
        return m_sLongOpt;
    }

    public void setLongOpt(String sLongOpt) {
        m_sLongOpt = sLongOpt;
    }

    public String getType() {
        return m_sType;
    }

    public void setType(String sType) {
        m_sType = sType;
    }

    public String getValueSeparator() {
        return m_sValueSeparator;
    }

    public void setValueSeparator(String sValueSeparator) {
        m_sValueSeparator = sValueSeparator;
    }

    public String getDescription() {
        return m_sDescription;
    }

    public void setDescription(String sDescription) {
        m_sDescription = sDescription;
    }

    Option toOption() {
        Option ret = new Option(m_sOption, m_sDescription);

        if (m_bArgsOptional != null)
            ret.setOptionalArg(m_bArgsOptional.booleanValue());

        if (m_bHasArgs) {
            if (m_iArgsCount == null)
                ret.setArgs(Option.UNLIMITED_VALUES);
        }

        ret.setRequired(m_bRequired);
        if (m_iArgsCount != null)
            ret.setArgs(m_iArgsCount.intValue());

        if (m_sArgName != null) {
            if (m_iArgsCount == null)
                ret.setArgs(Option.UNLIMITED_VALUES);
            ret.setArgName(m_sArgName);
        }

        if (m_sLongOpt != null)
            ret.setLongOpt(m_sLongOpt);

        if (m_sValueSeparator != null && m_sValueSeparator.length() != 0)
            ret.setValueSeparator(m_sValueSeparator.charAt(0));

        return ret;
    }
}