diff options
author | Leif Johansson <leifj@klapautius.mnt.se> | 2009-07-28 10:34:52 +0200 |
---|---|---|
committer | Leif Johansson <leifj@klapautius.mnt.se> | 2009-07-28 10:34:52 +0200 |
commit | 0a90384a9c7d840e88d9636271e8393a514647a0 (patch) | |
tree | 007540e79ec2a2e0e81bd0bd21e6eef9fc8bb205 /doc/api/edu/internet2/middleware/shibboleth/wayf/plugins/Plugin.html |
Import shibboleth ds 1.1.0v1.1.0upstreamds.swamid.se
Diffstat (limited to 'doc/api/edu/internet2/middleware/shibboleth/wayf/plugins/Plugin.html')
-rw-r--r-- | doc/api/edu/internet2/middleware/shibboleth/wayf/plugins/Plugin.html | 381 |
1 files changed, 381 insertions, 0 deletions
diff --git a/doc/api/edu/internet2/middleware/shibboleth/wayf/plugins/Plugin.html b/doc/api/edu/internet2/middleware/shibboleth/wayf/plugins/Plugin.html new file mode 100644 index 0000000..fd2e55d --- /dev/null +++ b/doc/api/edu/internet2/middleware/shibboleth/wayf/plugins/Plugin.html @@ -0,0 +1,381 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.5.0_16) on Wed Jan 14 13:49:24 CET 2009 --> +<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<TITLE> +Plugin (Shibboleth Discovery Service 1.1.0 Java API.) +</TITLE> + +<META NAME="keywords" CONTENT="edu.internet2.middleware.shibboleth.wayf.plugins.Plugin interface"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="Plugin (Shibboleth Discovery Service 1.1.0 Java API.)"; +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Plugin.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV CLASS + <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/PluginContext.html" title="interface in edu.internet2.middleware.shibboleth.wayf.plugins"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?edu/internet2/middleware/shibboleth/wayf/plugins/Plugin.html" target="_top"><B>FRAMES</B></A> + <A HREF="Plugin.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +edu.internet2.middleware.shibboleth.wayf.plugins</FONT> +<BR> +Interface Plugin</H2> +<DL> +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/provider/SamlCookiePlugin.html" title="class in edu.internet2.middleware.shibboleth.wayf.plugins.provider">SamlCookiePlugin</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public interface <B>Plugin</B></DL> +</PRE> + +<P> +The Plugin interface is used to affect the 'hints' that the WAYF offers to the users. + <p> + The WAYF can register any number of plugins. Each plugin is called when the metadata is loaded or realoaded + (so it can do any indexing) and at the three entry points into the WAYF - Lookup (main entry), Search and Select. + Plugins are called in the order in which they are declared to the WAYF. + <p> + Each plugin is called once when the user has made a selection. + <p> + For Search and Lookup, each plugin is called multiple times, once for each metadata provider which has + been declared to this particular WAYF instance. The plugin can return a context which is handed to subsequent calls. + <p> + The idea is that each plugin can affect the displayed lists of IdPs. As a reminder the WAYF displays two lists of + IdPs - the complete list, displayed either as a single list or a list of lists, and the hint list (which was + previously only populated from the _saml_idp cookie. In the search case the WAYF displays a third list of + the search hits. + <p> + When the plugin in called it is given the current set of potential IdPs as a Map from EntityID to <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/IdPSite.html" title="class in edu.internet2.middleware.shibboleth.wayf"><CODE>IdPSite</CODE></A> + and lists representing the current hint list and search results. A Plugin can remove an entry from + the map or the lists. Additionally it can insert an IdPSite found in the Map into the hint or search lists. + Thus the plugin can restrict the number of sites that the WAYF instance displays in the 'complete list' and + can add or remove IdPs from the hint list. + <p> + At any stage the plugin can take control of the current request and redirect or forward it. It signals that + it has done this to the WAYF by means of an exception. + <p> + The _saml_idp cookie handling code is written as a WAYF plugin. Other plugins have been written to allow IdPs + to be presented as hints based on the client's IP address or to redirect back to the SP once the choice of + IdP has been made. + <p> + Object implementing this interface are created during WAYF discovery service initialization. There are + expected to implement a constructor which takes a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom"><CODE>Element</CODE></A> as the only parameter and they are + created via this constructor, with the parameter being the appropriate section of the WAYF configuration file +<P> + +<P> +<DL> +<DT><B>Version:</B></DT> + <DD>Discussion</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/PluginContext.html" title="interface in edu.internet2.middleware.shibboleth.wayf.plugins">PluginContext</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/Plugin.html#lookup(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, edu.internet2.middleware.shibboleth.wayf.plugins.PluginMetadataParameter, java.util.Map, edu.internet2.middleware.shibboleth.wayf.plugins.PluginContext, java.util.List)">lookup</A></B>(javax.servlet.http.HttpServletRequest req, + javax.servlet.http.HttpServletResponse res, + <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/PluginMetadataParameter.html" title="interface in edu.internet2.middleware.shibboleth.wayf.plugins">PluginMetadataParameter</A> parameter, + <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A><<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>,<A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/IdPSite.html" title="class in edu.internet2.middleware.shibboleth.wayf">IdPSite</A>> validIdps, + <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/PluginContext.html" title="interface in edu.internet2.middleware.shibboleth.wayf.plugins">PluginContext</A> context, + <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A><<A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/IdPSite.html" title="class in edu.internet2.middleware.shibboleth.wayf">IdPSite</A>> idpList)</CODE> + +<BR> + The WAYF calls each plugin at this entry point when it is first contacted.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/PluginMetadataParameter.html" title="interface in edu.internet2.middleware.shibboleth.wayf.plugins">PluginMetadataParameter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/Plugin.html#refreshMetadata(org.opensaml.saml2.metadata.provider.MetadataProvider)">refreshMetadata</A></B>(org.opensaml.saml2.metadata.provider.MetadataProvider metadata)</CODE> + +<BR> + Whenever the WAYF discoveres that the metadata is stale, it reloads it and calls each plugin at this method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/PluginContext.html" title="interface in edu.internet2.middleware.shibboleth.wayf.plugins">PluginContext</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/Plugin.html#search(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, edu.internet2.middleware.shibboleth.wayf.plugins.PluginMetadataParameter, java.lang.String, java.util.Map, edu.internet2.middleware.shibboleth.wayf.plugins.PluginContext, java.util.Collection, java.util.List)">search</A></B>(javax.servlet.http.HttpServletRequest req, + javax.servlet.http.HttpServletResponse res, + <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/PluginMetadataParameter.html" title="interface in edu.internet2.middleware.shibboleth.wayf.plugins">PluginMetadataParameter</A> parameter, + <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> pattern, + <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A><<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>,<A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/IdPSite.html" title="class in edu.internet2.middleware.shibboleth.wayf">IdPSite</A>> validIdps, + <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/PluginContext.html" title="interface in edu.internet2.middleware.shibboleth.wayf.plugins">PluginContext</A> context, + <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A><<A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/IdPSite.html" title="class in edu.internet2.middleware.shibboleth.wayf">IdPSite</A>> searchResult, + <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A><<A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/IdPSite.html" title="class in edu.internet2.middleware.shibboleth.wayf">IdPSite</A>> idpList)</CODE> + +<BR> + This method is called when the user specified a search operation.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/Plugin.html#selected(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, edu.internet2.middleware.shibboleth.wayf.plugins.PluginMetadataParameter, java.lang.String)">selected</A></B>(javax.servlet.http.HttpServletRequest req, + javax.servlet.http.HttpServletResponse res, + <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/PluginMetadataParameter.html" title="interface in edu.internet2.middleware.shibboleth.wayf.plugins">PluginMetadataParameter</A> parameter, + <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> idP)</CODE> + +<BR> + This method is called, for every plugin, after a user has selected an IdP.</TD> +</TR> +</TABLE> + +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="refreshMetadata(org.opensaml.saml2.metadata.provider.MetadataProvider)"><!-- --></A><H3> +refreshMetadata</H3> +<PRE> +<A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/PluginMetadataParameter.html" title="interface in edu.internet2.middleware.shibboleth.wayf.plugins">PluginMetadataParameter</A> <B>refreshMetadata</B>(org.opensaml.saml2.metadata.provider.MetadataProvider metadata)</PRE> +<DL> +<DD>Whenever the WAYF discoveres that the metadata is stale, it reloads it and calls each plugin at this method. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>metadata</CODE> - - where to get the data from. +<DT><B>Returns:</B><DD>the value which will be provided as input to subsequent calls to <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/Plugin.html#lookup(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, edu.internet2.middleware.shibboleth.wayf.plugins.PluginMetadataParameter, java.util.Map, edu.internet2.middleware.shibboleth.wayf.plugins.PluginContext, java.util.List)"><CODE>Lookup</CODE></A> and + <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/Plugin.html#search(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, edu.internet2.middleware.shibboleth.wayf.plugins.PluginMetadataParameter, java.lang.String, java.util.Map, edu.internet2.middleware.shibboleth.wayf.plugins.PluginContext, java.util.Collection, java.util.List)"><CODE>Search</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="lookup(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, edu.internet2.middleware.shibboleth.wayf.plugins.PluginMetadataParameter, java.util.Map, edu.internet2.middleware.shibboleth.wayf.plugins.PluginContext, java.util.List)"><!-- --></A><H3> +lookup</H3> +<PRE> +<A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/PluginContext.html" title="interface in edu.internet2.middleware.shibboleth.wayf.plugins">PluginContext</A> <B>lookup</B>(javax.servlet.http.HttpServletRequest req, + javax.servlet.http.HttpServletResponse res, + <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/PluginMetadataParameter.html" title="interface in edu.internet2.middleware.shibboleth.wayf.plugins">PluginMetadataParameter</A> parameter, + <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A><<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>,<A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/IdPSite.html" title="class in edu.internet2.middleware.shibboleth.wayf">IdPSite</A>> validIdps, + <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/PluginContext.html" title="interface in edu.internet2.middleware.shibboleth.wayf.plugins">PluginContext</A> context, + <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A><<A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/IdPSite.html" title="class in edu.internet2.middleware.shibboleth.wayf">IdPSite</A>> idpList) + throws <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/WayfRequestHandled.html" title="class in edu.internet2.middleware.shibboleth.wayf.plugins">WayfRequestHandled</A></PRE> +<DL> +<DD>The WAYF calls each plugin at this entry point when it is first contacted. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>req</CODE> - - Describes the current request. A Plugin might use it to find any appropriate cookies<DD><CODE>res</CODE> - - Describes the current response. A Plugin might use it to redirect a the request.<DD><CODE>parameter</CODE> - Describes the metadata.<DD><CODE>context</CODE> - Any processing context returned from a previous call.<DD><CODE>validIdps</CODE> - The list of IdPs which is currently views as possibly matches for the pattern. + The Key is the EntityId for the IdP and the value the object which describes + the Idp<DD><CODE>idpList</CODE> - The set of Idps which are currently considered as potential hints. +<DT><B>Returns:</B><DD>a context to hand to subsequent calls +<DT><B>Throws:</B> +<DD><CODE><A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/WayfRequestHandled.html" title="class in edu.internet2.middleware.shibboleth.wayf.plugins">WayfRequestHandled</A></CODE> - if the plugin has handled the request (for instance it has + issues a redirect) + + Each plugin is called multiple times, + once for each metadata provider which is registered (Depending on the precise configuration of the WAYF + metadata providers whose metadata does not include the target may be dropped). Initially the plugin is + called with a context parameter of <code>null</code>. In subsequent calls, the value returned from + the previous call is passed in as the context parameter. + + The plugin may remove IdPSite objects from the validIdps list. + + The plugin may add or remove them to the idpList. IdPSite Objects which are to be added to the idpList + should be looked up by EntityIdName in validIdps by EntityId. Hence any metadata processing shoudl + store the entityID.</DL> +</DD> +</DL> +<HR> + +<A NAME="search(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, edu.internet2.middleware.shibboleth.wayf.plugins.PluginMetadataParameter, java.lang.String, java.util.Map, edu.internet2.middleware.shibboleth.wayf.plugins.PluginContext, java.util.Collection, java.util.List)"><!-- --></A><H3> +search</H3> +<PRE> +<A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/PluginContext.html" title="interface in edu.internet2.middleware.shibboleth.wayf.plugins">PluginContext</A> <B>search</B>(javax.servlet.http.HttpServletRequest req, + javax.servlet.http.HttpServletResponse res, + <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/PluginMetadataParameter.html" title="interface in edu.internet2.middleware.shibboleth.wayf.plugins">PluginMetadataParameter</A> parameter, + <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> pattern, + <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A><<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>,<A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/IdPSite.html" title="class in edu.internet2.middleware.shibboleth.wayf">IdPSite</A>> validIdps, + <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/PluginContext.html" title="interface in edu.internet2.middleware.shibboleth.wayf.plugins">PluginContext</A> context, + <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A><<A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/IdPSite.html" title="class in edu.internet2.middleware.shibboleth.wayf">IdPSite</A>> searchResult, + <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A><<A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/IdPSite.html" title="class in edu.internet2.middleware.shibboleth.wayf">IdPSite</A>> idpList) + throws <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/WayfRequestHandled.html" title="class in edu.internet2.middleware.shibboleth.wayf.plugins">WayfRequestHandled</A></PRE> +<DL> +<DD>This method is called when the user specified a search operation. The processing is similar to + that described for <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/Plugin.html#lookup(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, edu.internet2.middleware.shibboleth.wayf.plugins.PluginMetadataParameter, java.util.Map, edu.internet2.middleware.shibboleth.wayf.plugins.PluginContext, java.util.List)"><CODE>lookup</CODE></A>. + Two additional paramaters are provided, the search parameter which was provided, and the current + proposed list of candidate IdPs. The plugin is at liberty to alter both the list of hints and the + list of valid IdPs. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>req</CODE> - Describes the current request. The Plugin could use it to find any appropriate cookies<DD><CODE>res</CODE> - Describes the result - this is needed if (for instance) a plung needs to change cookie values<DD><CODE>parameter</CODE> - Describes the metadata<DD><CODE>pattern</CODE> - The Search pattern provided<DD><CODE>validIdps</CODE> - The list of IdPs which is currently views as possibly matches for the pattern. + The Key is the Idp Name an the value the idp<DD><CODE>context</CODE> - Any processing context returned from a previous call.<DD><CODE>searchResult</CODE> - the resukt of any search<DD><CODE>idpList</CODE> - The set of Idps which are currently considered as potential hints. Each Idp is associated + with a numeric weight, where the lower the number is the more likely the IdP is to be a candidate. + As descibed above the WAYF uses this to provide hint list to the GUI (or even to dispatch + immediately to the IdP). +<DT><B>Returns:</B><DD>a context to hand to subsequent calls +<DT><B>Throws:</B> +<DD><CODE><A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/WayfRequestHandled.html" title="class in edu.internet2.middleware.shibboleth.wayf.plugins">WayfRequestHandled</A></CODE> - if the plugin has handled the request (for instance it has + issues a redirect)</DL> +</DD> +</DL> +<HR> + +<A NAME="selected(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, edu.internet2.middleware.shibboleth.wayf.plugins.PluginMetadataParameter, java.lang.String)"><!-- --></A><H3> +selected</H3> +<PRE> +void <B>selected</B>(javax.servlet.http.HttpServletRequest req, + javax.servlet.http.HttpServletResponse res, + <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/PluginMetadataParameter.html" title="interface in edu.internet2.middleware.shibboleth.wayf.plugins">PluginMetadataParameter</A> parameter, + <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> idP) + throws <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/WayfRequestHandled.html" title="class in edu.internet2.middleware.shibboleth.wayf.plugins">WayfRequestHandled</A></PRE> +<DL> +<DD>This method is called, for every plugin, after a user has selected an IdP. The plugin is expected + to use it to update any in memory state (via the <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/PluginMetadataParameter.html" title="interface in edu.internet2.middleware.shibboleth.wayf.plugins"><CODE>PluginMetadataParameter</CODE></A> parameter or permananent + state (for instance by writing back a cookie. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>req</CODE> - Describes the current request.<DD><CODE>res</CODE> - Describes the current response<DD><CODE>parameter</CODE> - Describes the metadata +<DT><B>Throws:</B> +<DD><CODE><A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/WayfRequestHandled.html" title="class in edu.internet2.middleware.shibboleth.wayf.plugins">WayfRequestHandled</A></CODE> - if the plugin has handled the request (for instance it has + issues a redirect)</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Plugin.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV CLASS + <A HREF="../../../../../../edu/internet2/middleware/shibboleth/wayf/plugins/PluginContext.html" title="interface in edu.internet2.middleware.shibboleth.wayf.plugins"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?edu/internet2/middleware/shibboleth/wayf/plugins/Plugin.html" target="_top"><B>FRAMES</B></A> + <A HREF="Plugin.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright © 2006-2009 <a href="http://www.internet2.edu/">Internet2</a>. All Rights Reserved. +</BODY> +</HTML> |