package jrequest.base;



/**
 * A class to handle a change request and other kinds of requests
 *
 * created at Nov 8, 2002
 * @author daaby
 */

public class Request {
    
    private State state = new State();
    private String description = null;
    private User developer = null;

    public void addDescription(String description) {
    	if (this.description == null) {
    	    this.description = description;
    	} else {
    	    this.description += description;
    	}
    }
    
    public String getDescription() {
    	return description;
    }
        
    public void accept() {
        state.setAccepted();
    }

    public void assignTo(User user) {
        this.reassignTo(user);
//        state.setAssigned();
//        this.developer = user;
    }
    
    public void reassignTo(User user) {
        state.setAssigned();
        this.developer = user;
    }
    
    public void close() {
        state.setClosed();
    }
    
    public void reject() {
        state.setRejected();
    }

    public boolean isAccepted() {
        return state.isAccepted();
    }

    public boolean isAssigned() {
    	return state.isAssigned();
    }
    
    public boolean isClosed() {
    	return state.isClosed();
    }
    
    public boolean isRejected() {
        return state.isRejected();
    }

}
