Package org.springframework.roo.felix

Source Code of org.springframework.roo.felix.PsOptions

package org.springframework.roo.felix;

import org.apache.commons.lang3.Validate;
import org.apache.commons.lang3.builder.ToStringBuilder;

/**
* Provides display formats for the Felix "ps" command.
*
* @author Ben Alex
* @since 1.0
*/
public class PsOptions implements Comparable<PsOptions> {

    public static final PsOptions BUNDLE_NAME = new PsOptions("BUNDLE_NAME", ""); // default
    public static final PsOptions LOCATION_PATH = new PsOptions(
            "LOCATION_PATH", " -l");

    public static final PsOptions SYMBOLIC_NAME = new PsOptions(
            "SYMBOLIC_NAME", " -s");
    public static final PsOptions UPDATE_PATH = new PsOptions("UPDATE_PATH",
            " -u");
    private final String felixCode;
    private final String key;

    public PsOptions(final String key, final String felixCode) {
        Validate.notBlank(key, "Key required");
        Validate.notNull(felixCode, "Felix code required");
        this.key = key;
        this.felixCode = felixCode;
    }

    public final int compareTo(final PsOptions o) {
        if (o == null) {
            return -1;
        }
        final int result = key.compareTo(o.key);
        if (result == 0) {
            return felixCode.compareTo(o.felixCode);
        }
        return result;
    }

    @Override
    public final boolean equals(final Object obj) {
        return obj instanceof PsOptions && compareTo((PsOptions) obj) == 0;
    }

    public String getFelixCode() {
        return felixCode;
    }

    public String getKey() {
        return key;
    }

    @Override
    public final int hashCode() {
        return key.hashCode() * felixCode.hashCode();
    }

    @Override
    public String toString() {
        final ToStringBuilder builder = new ToStringBuilder(this);
        builder.append("key", key);
        builder.append("felixCode", felixCode);
        return builder.toString();
    }
}
TOP

Related Classes of org.springframework.roo.felix.PsOptions

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.