This graphic is a flow chart of choices for OC4J container-managed sign-on. It shows the basic choices of declarative vs. programmatic. For declarative, the administrator configures the principal mapping instance.

Under programmatic, it shows the choices of principal mapping class vs. JAAS login module. For a JAAS login module, the developer develops the module and the administrator configures the module instance.

Under principal mapping class, it shows the choices of implementing the `PrincipalMapping` interface directly vs. extending the `AbstractPrincipalMapping` abstract class. In either case, the developer implements the interface or extends the class, as appropriate, and the administrator configures the principal mapping instance.

(End of description.)