diff options
Diffstat (limited to 'qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ManagedBean.java')
-rw-r--r-- | qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ManagedBean.java | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ManagedBean.java b/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ManagedBean.java new file mode 100644 index 0000000000..8ded3f35c6 --- /dev/null +++ b/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ManagedBean.java @@ -0,0 +1,176 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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.apache.qpid.management.ui; + +import static org.apache.qpid.management.ui.Constants.ADMIN_MBEAN_TYPE; +import static org.apache.qpid.management.ui.Constants.CONNECTION; +import static org.apache.qpid.management.ui.Constants.DEFAULT_VH; +import static org.apache.qpid.management.ui.Constants.EXCHANGE; +import static org.apache.qpid.management.ui.Constants.QUEUE; +import static org.apache.qpid.management.ui.Constants.VIRTUAL_HOST; + +import java.util.HashMap; + +import org.apache.qpid.management.common.mbeans.ManagedBroker; + +/** + * Class representing a managed bean on the managed server + */ +public abstract class ManagedBean extends ManagedObject +{ + private String _uniqueName = ""; + private String _domain = ""; + private String _type = ""; + private String _virtualHostName = null; + private ManagedServer _server = null; + private HashMap _properties = null; + private int _version; + + public String getProperty(String key) + { + return (String) _properties.get(key); + } + + public HashMap getProperties() + { + return _properties; + } + + public void setProperties(HashMap properties) + { + this._properties = properties; + setName(getProperty("name")); + setType(getProperty("type")); + setVersion(getProperty("version")); + _virtualHostName = getProperty(VIRTUAL_HOST); + } + + public void setVersion(String version) + { + try + { + _version = Integer.parseInt(version); + } + catch (NumberFormatException nfe) + { + _version = 1; + } + + } + + public int getVersion() + { + return _version; + } + + public String getDomain() + { + return _domain; + } + + public void setDomain(String domain) + { + this._domain = domain; + } + + public ManagedServer getServer() + { + return _server; + } + + public void setServer(ManagedServer server) + { + this._server = server; + } + + public String getType() + { + return _type; + } + + public void setType(String type) + { + this._type = type; + } + + public String getUniqueName() + { + return _uniqueName; + } + + public void setUniqueName(String uniqueName) + { + this._uniqueName = uniqueName; + } + + public String getVirtualHostName() + { + // To make it work with the broker with no virtual host implementation + return _virtualHostName == null ? DEFAULT_VH : _virtualHostName; + } + + /** + * Returns mbean instance name. MBeans which have only one instance, the type attribute will be returned + * + * @return + */ + public String getInstanceName() + { + if (getName() != null) + { + return getName(); + } + else + { + return getType(); + } + } + + public boolean isQueue() + { + return _type.endsWith(QUEUE); + } + + public boolean isConnection() + { + return _type.endsWith(CONNECTION); + } + + public boolean isExchange() + { + return _type.endsWith(EXCHANGE); + } + + public boolean isVirtualHostManager() + { + return _type.endsWith(ManagedBroker.TYPE); + } + + public boolean isTempQueue() + { + return (isQueue() && getName().startsWith("tmp_")); + } + + public boolean isAdmin() + { + return _type.endsWith(ADMIN_MBEAN_TYPE); + } +} |