View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    * 
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.apache.commons.modeler.modules;
18  
19  import java.util.List;
20  
21  
22  /***
23   * This mbean will load an extended mlet file ( similar in syntax with jboss ).
24   * It'll keep track of all attribute changes and update the file when attributes
25   * change. 
26   */
27  public interface MbeansSourceMBean 
28  {
29      /*** Set the source to be used to load the mbeans
30       * 
31       * @param source File or URL
32       */ 
33      public void setSource( Object source );
34      
35      public Object getSource();
36      
37      /*** Return the list of loaded mbeans names
38       * 
39       * @return List of ObjectName
40       */ 
41      public List getMBeans();
42  
43      /*** Load the mbeans from the source. Called automatically on init() 
44       * 
45       * @throws Exception
46       */ 
47      public void load() throws Exception;
48      
49      /*** Call the init method on all mbeans. Will call load if not done already
50       * 
51       * @throws Exception
52       */ 
53      public void init() throws Exception;
54  
55      /*** Save the file.
56       */ 
57      public void save();
58  }