All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.osgi.jmx.JmxConstants Maven / Gradle / Ivy

There is a newer version: 0.7.0-M1
Show newest version
/*
 * Copyright (c) OSGi Alliance (2009, 2010). 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 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 org.osgi.jmx;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import javax.management.openmbean.ArrayType;
import javax.management.openmbean.CompositeType;
import javax.management.openmbean.SimpleType;
import javax.management.openmbean.TabularType;

/**
 * Constants for OSGi JMX Specification.
 * 
 * Additionally, this class contains a number of utility types that are used in
 * different places in the specification. These are {@link #LONG_ARRAY_TYPE},
 * {@link #STRING_ARRAY_TYPE}, and {@link #PROPERTIES_TYPE}.
 * 
 * @version $Revision: 8512 $
 * @Immutable
 * 
 * ALED/BROOKLYN: This is a verbatim copy of from org.osgi.jmx.JmxConstants, to avoid  
 * pulling in the dependency org.osgi.enterprise-4.2.0, and its chain of dependencies.
 * The only difference is this comment.
 */
public class JmxConstants {

    /*
     * Empty constructor to make sure this is not used as an object.
     */
    private JmxConstants() {
        // empty
    }

    /**
     * The MBean Open type for an array of strings
     */
    public static final ArrayType       STRING_ARRAY_TYPE   = Item
                                                                    .arrayType(
                                                                            1,
                                                                            SimpleType.STRING);
    /**
     * The MBean Open type for an array of longs
     */
    public static final ArrayType       LONG_ARRAY_TYPE     = Item
                                                                    .arrayType(
                                                                            1,
                                                                            SimpleType.LONG);

    /**
     * For an encoded array we need to start with ARRAY_OF. This must be
     * followed by one of the names in {@link #SCALAR}.
     * 
     */
    public final static String          ARRAY_OF            = "Array of ";

    /**
     * For an encoded vector we need to start with ARRAY_OF. This must be
     * followed by one of the names in {@link #SCALAR}.
     */
    public final static String          VECTOR_OF           = "Vector of ";

    /**
     * Value for {@link #PROPERTY_TYPE} value in the case of
     * {@link java.lang.String}
     */
    public static final String          STRING              = "String";
    /**
     * Value for {@link #PROPERTY_TYPE} value in the case of
     * {@link java.lang.Integer}
     */
    public static final String          INTEGER             = "Integer";
    /**
     * Value for {@link #PROPERTY_TYPE} value in the case of
     * {@link java.lang.Long}
     */
    public static final String          LONG                = "Long";
    /**
     * Value for {@link #PROPERTY_TYPE} value in the case of
     * {@link java.lang.Float}
     */
    public static final String          FLOAT               = "Float";
    /**
     * Value for {@link #PROPERTY_TYPE} value in the case of
     * {@link java.lang.Double}
     */
    public static final String          DOUBLE              = "Double";
    /**
     * Value for {@link #PROPERTY_TYPE} value in the case of
     * {@link java.lang.Byte}
     */
    public static final String          BYTE                = "Byte";
    /**
     * Value for {@link #PROPERTY_TYPE} value in the case of
     * {@link java.lang.Short}
     */
    public static final String          SHORT               = "Short";
    /**
     * Value for {@link #PROPERTY_TYPE} value in the case of
     * {@link java.lang.Character}
     */
    public static final String          CHARACTER           = "Character";
    /**
     * Value for {@link #PROPERTY_TYPE} value in the case of
     * {@link java.lang.Boolean}
     */
    public static final String          BOOLEAN             = "Boolean";
    /**
     * Value for {@link #PROPERTY_TYPE} value in the case of
     * {@link java.math.BigDecimal}
     */
    public static final String          BIGDECIMAL          = "BigDecimal";
    /**
     * Value for {@link #PROPERTY_TYPE} value in the case of
     * {@link java.math.BigInteger}
     */
    public static final String          BIGINTEGER          = "BigInteger";
    /**
     * Value for {@link #PROPERTY_TYPE} value in the case of
     * the double primitive type.
     */
    public static final String          P_DOUBLE            = "double";
    /**
     * Value for {@link #PROPERTY_TYPE} value in the case of
     * the float primitive type.
     */
    public static final String          P_FLOAT             = "float";
    /**
     * Value for {@link #PROPERTY_TYPE} value in the case of
     * the long primitive type.
     */
    public static final String          P_LONG              = "long";
    /**
     * Value for {@link #PROPERTY_TYPE} value in the case of
     * the int primitive type.
     */
    public static final String          P_INT               = "int";
    /**
     * Value for {@link #PROPERTY_TYPE} value in the case of
     * the short primitive type.
     */
    public static final String          P_SHORT             = "short";
    /**
     * Value for {@link #PROPERTY_TYPE} value in the case of
     * the byte primitive type.
     */
    public static final String          P_BYTE              = "byte";
    /**
     * Value for {@link #PROPERTY_TYPE} value in the case of
     * the char primitive type.
     */
    public static final String          P_CHAR              = "char";
    /**
     * Value for {@link #PROPERTY_TYPE} value in the case of
     * the boolean primitive type.
     */
    public static final String          P_BOOLEAN           = "boolean";

    /**
     * A set of all scalars that can be used in the {@link #TYPE} property of a
     * {@link #PROPERTIES_TYPE}. This contains the following names:
     * 
    *
  • {@link #BIGDECIMAL}
  • *
  • {@link #BIGINTEGER}
  • *
  • {@link #BOOLEAN}
  • *
  • {@link #BYTE}
  • *
  • {@link #CHARACTER}
  • *
  • {@link #DOUBLE}
  • *
  • {@link #FLOAT}
  • *
  • {@link #INTEGER}
  • *
  • {@link #LONG}
  • *
  • {@link #SHORT}
  • *
  • {@link #STRING}
  • *
  • {@link #P_BYTE}
  • *
  • {@link #P_CHAR}
  • *
  • {@link #P_DOUBLE}
  • *
  • {@link #P_FLOAT}
  • *
  • {@link #P_INT}
  • *
  • {@link #P_LONG}
  • *
  • {@link #P_SHORT}
  • */ public final static List SCALAR = Collections .unmodifiableList(Arrays .asList( STRING, INTEGER, LONG, FLOAT, DOUBLE, BYTE, SHORT, CHARACTER, BOOLEAN, BIGDECIMAL, BIGINTEGER, P_BYTE, P_CHAR, P_SHORT, P_INT, P_LONG, P_DOUBLE, P_FLOAT)); /** * The key KEY. */ public static final String KEY = "Key"; /** * The key of a property. The key is {@link #KEY} and the type is * {@link SimpleType#STRING}. */ public static final Item KEY_ITEM = new Item( KEY, "The key of the property", SimpleType.STRING); /** * The key VALUE. */ public static final String VALUE = "Value"; /** * The value of a property. The key is {@link #VALUE} and the type is * {@link SimpleType#STRING}. A value will be encoded by the string given in * {@link #TYPE}. The syntax for this type is given in {@link #TYPE_ITEM}. */ public static final Item VALUE_ITEM = new Item( VALUE, "The value of the property", SimpleType.STRING); /** * The key TYPE. */ public static final String TYPE = "Type"; /** * The type of the property. The key is {@link #TYPE} and the type is * {@link SimpleType#STRING}. This string must follow the following syntax: * * TYPE ::= ( 'Array of ' | 'Vector of ' )? {@link #SCALAR} * */ public static final Item TYPE_ITEM = new Item( TYPE, "The type of the property", SimpleType.STRING, STRING, INTEGER, LONG, FLOAT, DOUBLE, BYTE, SHORT, CHARACTER, BOOLEAN, BIGDECIMAL, BIGINTEGER, P_DOUBLE, P_FLOAT, P_LONG, P_INT, P_SHORT, P_CHAR, P_BYTE, P_BOOLEAN); /** * A Composite Type describing a a single property. A property consists of * the following items {@link #KEY_ITEM}, {@link #VALUE_ITEM}, and * {@link #TYPE_ITEM}. */ public static final CompositeType PROPERTY_TYPE = Item .compositeType( "PROPERTY", "This type encapsulates a key/value pair with a type identifier", KEY_ITEM, VALUE_ITEM, TYPE_ITEM); /** * Describes a map with properties. The row type is {@link #PROPERTY_TYPE}. * The index is defined to the {@link #KEY} of the property. */ public static final TabularType PROPERTIES_TYPE = Item .tabularType( "PROPERTIES", "A table of PROPERTY", PROPERTY_TYPE, KEY); /** * The domain name of the core OSGi MBeans */ public static final String OSGI_CORE = "osgi.core"; /** * The domain name of the selected OSGi compendium MBeans */ public static final String OSGI_COMPENDIUM = "osgi.compendium"; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy