001/* 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017package org.apache.wicket.jmx.wrapper; 018 019import java.io.IOException; 020 021import org.apache.wicket.jmx.ApplicationMBean; 022 023/** 024 * Exposes Application related functionality for JMX. 025 * 026 * @author eelcohillenius 027 */ 028public class Application implements ApplicationMBean 029{ 030 private final org.apache.wicket.Application application; 031 032 /** 033 * Create. 034 * 035 * @param application 036 */ 037 public Application(final org.apache.wicket.Application application) 038 { 039 this.application = application; 040 } 041 042 /** 043 * @see org.apache.wicket.jmx.ApplicationMBean#clearMarkupCache() 044 */ 045 @Override 046 public void clearMarkupCache() throws IOException 047 { 048 application.getMarkupSettings().getMarkupFactory().getMarkupCache().clear(); 049 } 050 051 /** 052 * @see org.apache.wicket.jmx.ApplicationMBean#getApplicationClass() 053 */ 054 @Override 055 public String getApplicationClass() throws IOException 056 { 057 return application.getClass().getName(); 058 } 059 060 /** 061 * @see org.apache.wicket.jmx.ApplicationMBean#getConfigurationType() 062 */ 063 @Override 064 public String getConfigurationType() 065 { 066 return application.getConfigurationType().name(); 067 } 068 069 /** 070 * @see org.apache.wicket.jmx.ApplicationMBean#getHomePageClass() 071 */ 072 @Override 073 public String getHomePageClass() throws IOException 074 { 075 return application.getHomePage().getName(); 076 } 077 078 /** 079 * @see org.apache.wicket.jmx.ApplicationMBean#getMarkupCacheSize() 080 */ 081 @Override 082 public int getMarkupCacheSize() throws IOException 083 { 084 return application.getMarkupSettings().getMarkupFactory().getMarkupCache().size(); 085 } 086 087 /** 088 * @see org.apache.wicket.jmx.ApplicationMBean#getWicketVersion() 089 */ 090 @Override 091 public String getWicketVersion() throws IOException 092 { 093 return application.getFrameworkSettings().getVersion(); 094 } 095 096 /** 097 * @see org.apache.wicket.jmx.ApplicationMBean#clearLocalizerCache() 098 */ 099 @Override 100 public void clearLocalizerCache() throws IOException 101 { 102 application.getResourceSettings().getLocalizer().clearCache(); 103 } 104}