<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">// INFO: tab width was set to 4 when editing this file

package org.bodington.server.userimport;
import java.util.Iterator;
import java.util.Properties;


/** The interface used to implement information resources, which is where you
get GeneratedUsers from. See the documentation for your specific
InformationResource implementation for more info.
&lt;p&gt;
&lt;br/&gt;$HeadURL: https://svn.oucs.ox.ac.uk/sysdev/src/u/usrgrpgen/tags/2.0-3/uk/ac/ox/usrgrpgen/InformationResource.java $
&lt;br/&gt;$LastChangedRevision: 3381 $
&lt;br/&gt;$LastChangedDate: 2004-04-02 16:43:20 +0100 (Fri, 02 Apr 2004) $
&lt;br/&gt;$LastChangedBy: mats $
&lt;/p&gt;
@author	Mats Henrikson
@version $LastChangedRevision: 3381 $
*/
public interface InformationResource {


	/** Initialises the InformationResource with the parameters found in the
	props object. See the documentation for your specific InformationResource
	implementation for information on what parameters it expects to have.
	@param	props	The Properties object with all configuration information
					in it.
	@throws	ConfigurationException Throws a CE if for some reason the
			configuration fails. This may contain nested causes giving more
			info on what went wrong.
	*/
	public void init(Properties props) throws ConfigurationException;


	/** Returns an Iterator of the &lt;strong&gt;valid&lt;/strong&gt; GeneratedUsers,
	users not valid for existence in the Bodington system are not returned.
	In the implementation it can either grab all the users at once, put them in
	a Collection and return an Iterator from that collection, or it can have the
	Iterator get each user dynamically from an information resource when the
	Iterator.next() method is called. The Iterator should return only
	&lt;strong&gt;valid&lt;/strong&gt; GeneratedUser instances.
	@return	An Iteraror with all the &lt;strong&gt;valid&lt;/strong&gt; GeneratedUsers in.
	@throws SelectionException	Throws a SE with possible nested causes if
			there was an error while trying to get the users.
	*/
	public Iterator userIterator() throws SelectionException;


	/** Returns an implementation of GroupManager to create groups etc.
	@param	props	The Properties instance to get properties from.
	@throws	ConfigurationException	Throws a CE if the GroupManager can't find
			all the properties it needs. See the docs for your GroupManager
			implementation to find out what properties it takes.
	*/
	public GroupManager getGroupManager(Properties props)
			throws ConfigurationException;
}
</pre></body></html>