View Javadoc

1   /*
2    *  File: JaretInfoProvider.java 
3    *  Copyright (c) 2004-2007  Peter Kliem (Peter.Kliem@jaret.de)
4    *  A commercial license is available, see http://www.jaret.de.
5    *
6    * All rights reserved. This program and the accompanying materials
7    * are made available under the terms of the Common Public License v1.0
8    * which accompanies this distribution, and is available at
9    * http://www.eclipse.org/legal/cpl-v10.html
10   */
11  package de.jaret.util.infoprovider;
12  
13  import java.util.List;
14  
15  /**
16   * Interface for an information provider providing hirarchical structured information in a key/value fashion .
17   * 
18   * @author Peter Kliem
19   * @version $Id: JaretInfoProvider.java 242 2007-02-11 21:05:07Z olk $
20   */
21  public interface JaretInfoProvider {
22      /**
23       * Give a human readable name for the information provider
24       * 
25       * @return Name to be displayed
26       */
27      public String getInfoProviderName();
28  
29      /**
30       * Access to the information provided by this infoprovider
31       * 
32       * @return one of the JaretAccess constants
33       */
34      public int getAccess();
35  
36      /**
37       * return a list of the info entries
38       * 
39       * @return List of the information as SysInfoEntries
40       */
41      public List<SysInfoEntry> getSysInfoEntries();
42  
43      /**
44       * List of subinformation providers registered to this info provider
45       * 
46       * @return List of the registered infoprovders
47       */
48      public List<JaretInfoProvider> getSubInfoProviders();
49  
50      /**
51       * Add an information provider as a sub information provider
52       * 
53       * @param infoProvider infoprovider to be added
54       */
55      public void addSubInfoProvider(JaretInfoProvider infoProvider);
56  
57      /**
58       * Remove agegsitered sub infoprovider
59       * 
60       * @param infoProvider infoprovider to be removed
61       */
62      public void remSubInfoProvider(JaretInfoProvider infoProvider);
63  
64  }