// Path: src/test/java/org/stripesstuff/tests/session/bean/Person.java
// public class Person {
//     
//     /**
//      * First name.
//      */
//     private String firstName;
//     /**
//      * Last name.
//      */
//     private String lastName;
//     
//     
//     public String getFirstName() {
//         return firstName;
//     }
//     public void setFirstName(String firstName) {
//         this.firstName = firstName;
//     }
//     public String getLastName() {
//         return lastName;
//     }
//     public void setLastName(String lastName) {
//         this.lastName = lastName;
//     }
// }


import org.stripesstuff.plugin.session.Session;
import org.stripesstuff.tests.session.bean.Person;
import net.sourceforge.stripes.action.ActionBean;
import net.sourceforge.stripes.action.ActionBeanContext;
import net.sourceforge.stripes.action.DefaultHandler;
import net.sourceforge.stripes.action.ForwardResolution;
import net.sourceforge.stripes.action.Resolution;

package org.stripesstuff.tests.session.action;



public abstract class AbstractPersonActionBean implements ActionBean {
    
    private ActionBeanContext context;
    public ActionBeanContext getContext() {return context;}
    public void setContext(ActionBeanContext context) {this.context = context;}
    
    /**
     * Person.
     */
    @Session
    private Person person;
    
    
    @DefaultHandler
    public Resolution view() {
        return new ForwardResolution("index.jsp");
    }
    public abstract Resolution reset();
    
    
    public Person getPerson() {
        return person;
    }

// Path: src/test/java/org/stripesstuff/tests/session/bean/Person.java
// public class Person {
//     
//     /**
//      * First name.
//      */
//     private String firstName;
//     /**
//      * Last name.
//      */
//     private String lastName;
//     
//     
//     public String getFirstName() {
//         return firstName;
//     }
//     public void setFirstName(String firstName) {
//         this.firstName = firstName;
//     }
//     public String getLastName() {
//         return lastName;
//     }
//     public void setLastName(String lastName) {
//         this.lastName = lastName;
//     }
// }


// Path: src/test/java/org/stripesstuff/tests/session/action/AbstractPersonActionBean.java
import org.stripesstuff.plugin.session.Session;
import org.stripesstuff.tests.session.bean.Person;
import net.sourceforge.stripes.action.ActionBean;
import net.sourceforge.stripes.action.ActionBeanContext;
import net.sourceforge.stripes.action.DefaultHandler;
import net.sourceforge.stripes.action.ForwardResolution;
import net.sourceforge.stripes.action.Resolution;

package org.stripesstuff.tests.session.action;



public abstract class AbstractPersonActionBean implements ActionBean {
    
    private ActionBeanContext context;
    public ActionBeanContext getContext() {return context;}
    public void setContext(ActionBeanContext context) {this.context = context;}
    
    /**
     * Person.
     */
    @Session
    private Person person;
    
    
    @DefaultHandler
    public Resolution view() {
        return new ForwardResolution("index.jsp");
    }
    public abstract Resolution reset();
    
    
    public Person getPerson() {
        return person;
    }

    public void setPerson(Person person) {
