source: branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeifc/ITaskInstance.java @ 1734

Last change on this file since 1734 was 1734, checked in by rkrimmel, 10 years ago

Added automatically created javadoc, still needs to be commented properly though

  • Property svn:executable set to *
File size: 2.2 KB
Line 
1//   Copyright 2012 Georg-August-Universität Göttingen, Germany
2//
3//   Licensed under the Apache License, Version 2.0 (the "License");
4//   you may not use this file except in compliance with the License.
5//   You may obtain a copy of the License at
6//
7//       http://www.apache.org/licenses/LICENSE-2.0
8//
9//   Unless required by applicable law or agreed to in writing, software
10//   distributed under the License is distributed on an "AS IS" BASIS,
11//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12//   See the License for the specific language governing permissions and
13//   limitations under the License.
14
15package de.ugoe.cs.autoquest.tasktrees.treeifc;
16
17import java.io.Serializable;
18
19// TODO: Auto-generated Javadoc
20/**
21 * <p>
22 * a task instance represents the execution of a specific task within a user
23 * session. A task instance is always related to the task that was executed.
24 * </p>
25 *
26 * @author Patrick Harms
27 */
28public interface ITaskInstance extends Serializable, Cloneable {
29
30        /**
31         * <p>
32         * implements the visitor pattern to be able to process task instances and
33         * their children.
34         * </p>
35         *
36         * @param visitor
37         *            the visitor used to process the task
38         */
39        public void accept(ITaskInstanceVisitor visitor);
40
41        /**
42         * <p>
43         * clones a task instance by creating exact clones of each contained child
44         * instance as well as the related task. Furthermore, all other non
45         * transient information of the task instance must be cloned.
46         * </p>
47         *
48         * @return a clone of the task instance
49         */
50        public ITaskInstance clone();
51
52        /**
53         * <p>
54         * compares an instance to another one. Returns true if both instances are
55         * the same, i.e. not only the related task is equal but also all children
56         * and further characteristics of the task instance
57         * </p>
58         *
59         * @param taskInstance
60         *            the instance to compare to
61         *
62         * @return as described
63         */
64        public boolean equals(ITaskInstance taskInstance);
65
66        /**
67         * <p>
68         * returns the task related to the instance.
69         * </p>
70         *
71         * @return as described
72         */
73        public ITask getTask();
74
75        /**
76         * <p>
77         * returns a hash code for the task instance to be able to put it into hash
78         * maps
79         * </p>.
80         *
81         * @return as described
82         */
83        @Override
84        public int hashCode();
85
86}
Note: See TracBrowser for help on using the repository browser.