001/* 002 * jPOS Project [http://jpos.org] 003 * Copyright (C) 2000-2026 jPOS Software SRL 004 * 005 * This program is free software: you can redistribute it and/or modify 006 * it under the terms of the GNU Affero General Public License as 007 * published by the Free Software Foundation, either version 3 of the 008 * License, or (at your option) any later version. 009 * 010 * This program is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 013 * GNU Affero General Public License for more details. 014 * 015 * You should have received a copy of the GNU Affero General Public License 016 * along with this program. If not, see <http://www.gnu.org/licenses/>. 017 */ 018 019package org.jpos.q2; 020 021import org.jdom2.Element; 022 023import java.net.URL; 024 025/** 026 * JMX management interface for {@link QBeanSupport}-based QBeans. 027 * @author <a href="mailto:taherkordy@dpi2.dpi.net.ir">Alireza Taherkordi</a> 028 * @author <a href="mailto:apr@cs.com.uy">Alejandro P. Revilla</a> 029 * @version $Revision$ $Date$ 030 */ 031public interface QBeanSupportMBean extends QBean, QPersist { 032 /** 033 * Sets the Q2 server instance for this QBean. 034 * @param server the Q2 server 035 */ 036 void setServer(Q2 server); 037 /** 038 * Returns the Q2 server instance. 039 * @return the Q2 server 040 */ 041 Q2 getServer(); 042 /** 043 * Sets the persistent configuration element. 044 * @param e the configuration element 045 */ 046 void setPersist(Element e); 047 /** 048 * Sets the bean name. 049 * @param name the bean name 050 */ 051 void setName(String name); 052 /** 053 * Returns the bean name. 054 * @return the bean name 055 */ 056 String getName(); 057 /** 058 * Sets the logger by name. 059 * @param name the logger name 060 */ 061 void setLogger(String name); 062 /** 063 * Sets the logging realm. 064 * @param realm the realm string 065 */ 066 void setRealm(String realm); 067 /** 068 * Returns the logging realm. 069 * @return the realm string 070 */ 071 String getRealm(); 072 /** 073 * Returns the logger name. 074 * @return the logger name 075 */ 076 String getLogger(); 077 /** 078 * Returns the URLs registered with the class loader. 079 * @return array of loader URLs 080 */ 081 URL[] getLoaderURLS(); 082 /** 083 * Returns the QClassLoader for this bean. 084 * @return the class loader 085 */ 086 QClassLoader getLoader(); 087 /** 088 * Returns a human-readable dump of this bean's state. 089 * @return dump string 090 */ 091 String getDump(); 092}