01: //
02: // Informa -- RSS Library for Java
03: // Copyright (c) 2002 by Niko Schmuck
04: //
05: // Niko Schmuck
06: // http://sourceforge.net/projects/informa
07: // mailto:niko_schmuck@users.sourceforge.net
08: //
09: // This library is free software.
10: //
11: // You may redistribute it and/or modify it under the terms of the GNU
12: // Lesser General Public License as published by the Free Software Foundation.
13: //
14: // Version 2.1 of the license should be included with this distribution in
15: // the file LICENSE. If the license is not included with this distribution,
16: // you may find a copy at the FSF web site at 'www.gnu.org' or 'www.fsf.org',
17: // or you may write to the Free Software Foundation, 675 Mass Ave, Cambridge,
18: // MA 02139 USA.
19: //
20: // This library is distributed in the hope that it will be useful,
21: // but WITHOUT ANY WARRANTY; without even the implied waranty of
22: // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23: // Lesser General Public License for more details.
24: //
25:
26: // $Id: ChannelGroupIF.java,v 1.8 2006/12/04 23:40:02 italobb Exp $
27:
28: package de.nava.informa.core;
29:
30: import java.util.Collection;
31:
32: /**
33: * Interface to allow to implement a container of channels that may be
34: * used by a channel registry (through a front-end) or as the entry
35: * point for an application using this library. A ChannelGroupIF
36: * object may also reflect the root element of a XML file persisted
37: * from the channel object model.</p>
38: *
39: * @author Niko Schmuck (niko@nava.de)
40: */
41: public interface ChannelGroupIF extends WithIdMIF, WithTitleMIF,
42: WithChildrenMIF {
43:
44: void add(ChannelIF channel);
45:
46: void remove(ChannelIF channel);
47:
48: /**
49: * @return A collection of ChannelIF objects.
50: */
51: Collection<ChannelIF> getAll();
52:
53: ChannelIF getById(long id);
54:
55: ChannelGroupIF getParent();
56:
57: void setParent(ChannelGroupIF parent);
58:
59: void addChild(ChannelGroupIF child);
60:
61: void removeChild(ChannelGroupIF child);
62: }
|