/**
 * PDDL Graph Planner
 * Zeyn Saigol <zeyn@zeyn.net>
 * School of Computer Science
 * University of Birmingham
 *
 * $Id: Problem.java 25 2007-02-13 16:08:52Z zas $
 */
package uk.ac.bham.cs.zas.pddl.domain;

import java.util.*;

public class Problem
{
    private final String name;
    private final Domain domain;
    private final Set<PDDLObject> objects;
    private final ConsistentLiteralSet startState;
    private final GoalDesc goal;

    public Problem(final String name, 
                   final Domain domain, 
                   final Set<PDDLObject> objects, 
                   final ConsistentLiteralSet startState, 
                   final GoalDesc goal) {
        this.name = name;
        this.domain = domain;
        this.objects = objects;
        this.startState = startState;
        this.goal = goal;
    }

    public Domain getDomain() {
        return domain;
    }

    public GoalDesc getGoal() {
        return goal;
    }

    public String getName() {
        return name;
    }

    public Set<PDDLObject> getObjects() {
        return objects;
    }

    public ConsistentLiteralSet getStartState() {
        return startState;
    }
}