View Javadoc

1   /*
2    ~ Copyright 2006-2007 Nicolas De Loof.
3    ~
4    ~ Licensed under the Apache License, Version 2.0 (the "License");
5    ~ you may not use this file except in compliance with the License.
6    ~ You may obtain a copy of the License at
7    ~
8    ~      http://www.apache.org/licenses/LICENSE-2.0
9    ~
10   ~ Unless required by applicable law or agreed to in writing, software
11   ~ distributed under the License is distributed on an "AS IS" BASIS,
12   ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   ~ See the License for the specific language governing permissions and
14   ~ limitations under the License.
15   */
16  package org.jmonit.reporting;
17  
18  import java.util.Map;
19  
20  import org.jmonit.Monitor;
21  
22  /**
23   * Base of the visitor pattern implementation.
24   * 
25   * @author <a href="mailto:nicolas.deloof@gmail.com">Nicolas De Loof</a>
26   */
27  public interface Visitor
28  {
29      /**
30       * Callback for a visitor
31       * 
32       * @param attributes description of the visited object
33       */
34      void visit( Map<String, Object> attributes );
35  
36      /**
37       * Callback to visit a monitor
38       * 
39       * @param monitor monitor to visit
40       */
41      void visit( Monitor monitor );
42  }