001/** 002 * GRANITE DATA SERVICES 003 * Copyright (C) 2006-2013 GRANITE DATA SERVICES S.A.S. 004 * 005 * This file is part of the Granite Data Services Platform. 006 * 007 * Granite Data Services is free software; you can redistribute it and/or 008 * modify it under the terms of the GNU Lesser General Public 009 * License as published by the Free Software Foundation; either 010 * version 2.1 of the License, or (at your option) any later version. 011 * 012 * Granite Data Services is distributed in the hope that it will be useful, 013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser 015 * General Public License for more details. 016 * 017 * You should have received a copy of the GNU Lesser General Public 018 * License along with this library; if not, write to the Free Software 019 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 020 * USA, or see <http://www.gnu.org/licenses/>. 021 */ 022package org.granite.config; 023 024import java.io.IOException; 025 026import org.granite.jmx.MBean; 027import org.granite.jmx.MBeanAttribute; 028import org.granite.jmx.MBeanOperation; 029import org.granite.jmx.MBeanOperation.Impact; 030 031/** 032 * @author Franck WOLFF 033 */ 034@MBean(description="MBean used for GraniteConfig operations") 035public interface ServletGraniteConfigMBean { 036 037 /////////////////////////////////////////////////////////////////////////// 038 // Attributes. 039 040 @MBeanAttribute(description="Does this config use auto scanning?") 041 public boolean getScan(); 042 043 @MBeanAttribute(description="The custom (webapp specific) granite-config.xml file location") 044 public String getCustomConfigPath(); 045 046 @MBeanAttribute(description="The AMF3Serializer class") 047 public String getAmf3SerializerClass(); 048 049 @MBeanAttribute(description="The AMF3Deserializer class") 050 public String getAmf3DeserializerClass(); 051 052 @MBeanAttribute(description="The AMF3MessageInterceptor class") 053 public String getAmf3MessageInterceptorClass(); 054 055 @MBeanAttribute(description="The MethodMatcher class") 056 public String getMethodMatcherClass(); 057 058 @MBeanAttribute(description="The ServiceInvocationListener class") 059 public String getServiceInvocationListenerClass(); 060 061 @MBeanAttribute(description="The ClassGetter class") 062 public String getClassGetterClass(); 063 064 @MBeanAttribute(description="The SecurityService class") 065 public String getSecurityServiceClass(); 066 067 @MBeanAttribute(description="The MessageSelector class") 068 public String getMessageSelectorClass(); 069 070 /////////////////////////////////////////////////////////////////////////// 071 // Operations. 072 073 @MBeanOperation( 074 description="Shows the custom (webapp specific) granite-config.xml file content", 075 impact=Impact.INFO 076 ) 077 public String showCustomConfig() throws IOException; 078 079 @MBeanOperation( 080 description="Shows the standard (built-in) granite-config.xml file content", 081 impact=Impact.INFO 082 ) 083 public String showStandardConfig() throws IOException; 084 085 @MBeanOperation( 086 description="Shows the list of all configured type converters", 087 impact=Impact.INFO 088 ) 089 public String showConverters(); 090 091 @MBeanOperation( 092 description="Shows the list of all configured instantiators", 093 impact=Impact.INFO 094 ) 095 public String showInstantiators(); 096 097 @MBeanOperation( 098 description="Shows the list of all configured exception converters", 099 impact=Impact.INFO 100 ) 101 public String showExceptionConverters(); 102 103 @MBeanOperation( 104 description="Shows scanned externalizers", 105 impact=Impact.INFO 106 ) 107 public String showScannedExternalizers(); 108 109 @MBeanOperation( 110 description="Shows which externalizer is used for a given serialized object (dynamic)", 111 impact=Impact.INFO 112 ) 113 public String showExternalizersByType(); 114 115 @MBeanOperation( 116 description="Shows which externalizer is used for a given serialized instance (configured)", 117 impact=Impact.INFO 118 ) 119 public String showExternalizersByInstanceOf(); 120 121 @MBeanOperation( 122 description="Shows which externalizer is used for a given serialized annotated object (configured)", 123 impact=Impact.INFO 124 ) 125 public String showExternalizersByAnnotatedWith(); 126 127 @MBeanOperation( 128 description="Shows which Java descriptor is used for a given serialized object (dynamic)", 129 impact=Impact.INFO 130 ) 131 public String showJavaDescriptorsByType(); 132 133 @MBeanOperation( 134 description="Shows which Java descriptor is used for a given serialized instance (configured)", 135 impact=Impact.INFO 136 ) 137 public String showJavaDescriptorsByInstanceOf(); 138 139 @MBeanOperation( 140 description="Shows which ActionScript3 descriptor is used for a given serialized object (dynamic)", 141 impact=Impact.INFO 142 ) 143 public String showAs3DescriptorsByType(); 144 145 @MBeanOperation( 146 description="Shows which ActionScript3 descriptor is used for a given serialized instance (configured)", 147 impact=Impact.INFO 148 ) 149 public String showAs3DescriptorsByInstanceOf(); 150 151 @MBeanOperation( 152 description="Shows enabled Tide components (configured)", 153 impact=Impact.INFO 154 ) 155 public String showEnabledTideComponentsByName(); 156 157 @MBeanOperation( 158 description="Shows disabled Tide components (configured)", 159 impact=Impact.INFO 160 ) 161 public String showDisabledTideComponentsByName(); 162 163 @MBeanOperation( 164 description="Shows Tide component matchers (configured)", 165 impact=Impact.INFO 166 ) 167 public String showTideComponentMatchers(); 168 169 @MBeanOperation( 170 description="Reload the granite-config.xml file", 171 impact=Impact.ACTION 172 ) 173 public void reload(); 174}