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 }