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 }