1 /** 2 * $RCSfile: DiscoServerItem.java,v $ 3 * $Revision: 1.2 $ 4 * $Date: 2004/10/25 23:41:58 $ 5 * 6 * Copyright (C) 2004 Jive Software. All rights reserved. 7 * 8 * This software is published under the terms of the GNU Public License (GPL), 9 * a copy of which is included in this distribution. 10 */ 11 12 package org.jivesoftware.messenger.disco; 13 14 /** 15 * Represent a DiscoItem provided by the server. Therefore, the DiscoServerItems are responsible 16 * for providing the DiscoInfoProvider and DiscoItemsProvider that will provide the information and 17 * items related to this item.<p> 18 * <p/> 19 * When the server starts up, IQDiscoItemsHandler will request to all the services that implement 20 * the ServerItemsProvider interface for their DiscoServerItems. Each DiscoServerItem will provide 21 * its DiscoInfoProvider which will automatically be included in IQDiscoInfoHandler as the provider 22 * for this item's JID. Moreover, each DiscoServerItem will also provide its DiscoItemsProvider 23 * which will automatically be included in IQDiscoItemsHandler. Special attention must be paid to 24 * the JID since all the items with the same host will share the same DiscoInfoProvider or 25 * DiscoItemsProvider. 26 * 27 * @author Gaston Dombiak 28 */ 29 public interface DiscoServerItem extends DiscoItem { 30 31 /** 32 * Returns the DiscoInfoProvider responsible for providing the information related to this item. 33 * The DiscoInfoProvider will be automatically included in IQDiscoInfoHandler as the provider 34 * for this item's JID. 35 * 36 * @return the DiscoInfoProvider responsible for providing the information related to this item. 37 */ 38 public abstract DiscoInfoProvider getDiscoInfoProvider(); 39 40 /** 41 * Returns the DiscoItemsProvider responsible for providing the items related to this item. 42 * The DiscoItemsProvider will be automatically included in IQDiscoItemsHandler as the provider 43 * for this item's JID. 44 * 45 * @return the DiscoItemsProvider responsible for providing the items related to this item. 46 */ 47 public abstract DiscoItemsProvider getDiscoItemsProvider(); 48 } 49