source: DCWoRMS/trunk/src/schedframe/scheduling/plan/ScheduledTaskInterface.java @ 478

Revision 478, 4.7 KB checked in by wojtekp, 13 years ago (diff)
  • Property svn:mime-type set to text/plain
Line 
1package schedframe.scheduling.plan;
2
3import java.util.ArrayList;
4
5import schedframe.DescriptionContainer;
6import schedframe.scheduling.tasks.WorkloadUnit;
7
8public interface ScheduledTaskInterface<T> extends DescriptionContainer<T> {
9
10        /**
11         *
12         *
13         * @param vAllocation
14         * @throws java.lang.IndexOutOfBoundsException if the index
15         * given is outside the bounds of the collection
16         */
17        public <Allocation> void addAllocation(
18                        final AllocationInterface<Allocation> vAllocation)
19                        throws java.lang.IndexOutOfBoundsException;
20
21        /**
22         *
23         *
24         * @param index
25         * @param vAllocation
26         * @throws java.lang.IndexOutOfBoundsException if the index
27         * given is outside the bounds of the collection
28         */
29        public <Allocation> void addAllocation(final int index,
30                        final AllocationInterface<Allocation> vAllocation)
31                        throws java.lang.IndexOutOfBoundsException;
32
33        /**
34         */
35        public void deleteTopology();
36
37        /**
38         * Method getAllocation.
39         *
40         * @param index
41         * @throws java.lang.IndexOutOfBoundsException if the index
42         * given is outside the bounds of the collection
43         * @return the value of the
44         * schedframe.schedulingplan.impl.Allocation at the given index
45         */
46        public <Allocation>AllocationInterface<Allocation> getAllocation(
47                        final int index) throws java.lang.IndexOutOfBoundsException;
48
49        /**
50         * Method getAllocation.Returns the contents of the collection
51         * in an Array.  <p>Note:  Just in case the collection contents
52         * are changing in another thread, we pass a 0-length Array of
53         * the correct type into the API call.  This way we <i>know</i>
54         * that the Array returned is of exactly the correct length.
55         *
56         * @return this collection as an Array
57         */
58        public <Allocation>AllocationInterface<Allocation>[] getAllocation();
59
60        /**
61         * Method getAllocationCount.
62         *
63         * @return the size of this collection
64         */
65        public int getAllocationCount();
66
67        /**
68         * Returns the value of field 'jobId'.
69         *
70         * @return the value of field 'JobId'.
71         */
72        public java.lang.String getJobId();
73
74        /**
75         * Returns the value of field 'scheduledTime'.
76         *
77         * @return the value of field 'ScheduledTime'.
78         */
79        public <ScheduledTime>ScheduledTimeInterface<ScheduledTime> getScheduledTime();
80
81        /**
82         * Returns the value of field 'status'.
83         *
84         * @return the value of field 'Status'.
85         */
86        public org.qcg.broker.schemas.schedulingplan.types.AllocationStatus getStatus();
87       
88        public String getStatusDescription();
89
90        /**
91         * Returns the value of field 'taskId'.
92         *
93         * @return the value of field 'TaskId'.
94         */
95        public java.lang.String getTaskId();
96
97        /**
98         * Returns the value of field 'topology'.
99         *
100         * @return the value of field 'Topology'.
101         */
102        public int getTopology();
103
104        /**
105         * Method hasTopology.
106         *
107         * @return true if at least one Topology has been added
108         */
109        public boolean hasTopology();
110
111        /**
112         */
113        public void removeAllAllocation();
114
115        /**
116         * Method removeAllocation.
117         *
118         * @param vAllocation
119         * @return true if the object was removed from the collection.
120         */
121        public <Allocation> boolean removeAllocation(
122                        final AllocationInterface<Allocation> vAllocation);
123
124        /**
125         * Method removeAllocationAt.
126         *
127         * @param index
128         * @return the element removed from the collection
129         */
130        public <Allocation>AllocationInterface<Allocation> removeAllocationAt(final int index);
131
132        /**
133         *
134         *
135         * @param index
136         * @param vAllocation
137         * @throws java.lang.IndexOutOfBoundsException if the index
138         * given is outside the bounds of the collection
139         */
140        public <Allocation> void setAllocation(final int index,
141                        final AllocationInterface<Allocation> vAllocation)
142                        throws java.lang.IndexOutOfBoundsException;
143
144        /**
145         *
146         *
147         * @param vAllocationArray
148         */
149        public <Allocation> void setAllocation(
150                        final AllocationInterface<Allocation>[] vAllocationArray);
151
152        /**
153         * Sets the value of field 'jobId'.
154         *
155         * @param jobId the value of field 'jobId'.
156         */
157        public void setJobId(final java.lang.String jobId);
158
159        /**
160         * Sets the value of field 'scheduledTime'.
161         *
162         * @param scheduledTime the value of field 'scheduledTime'.
163         */
164        public <ScheduledTime> void setScheduledTime(
165                        final ScheduledTimeInterface<ScheduledTime> scheduledTime);
166
167        /**
168         * Sets the value of field 'status'.
169         *
170         * @param status the value of field 'status'.
171         */
172        public void setStatus(
173                        final org.qcg.broker.schemas.schedulingplan.types.AllocationStatus status);
174       
175        public void setStatusDescription(String statusDescription);
176
177        /**
178         * Sets the value of field 'taskID'.
179         *
180         * @param taskId the value of field 'taskId'.
181         */
182        public void setTaskId(final java.lang.String taskId);
183
184        /**
185         * Sets the value of field 'topology'.
186         *
187         * @param topology the value of field 'topology'.
188         */
189        public void setTopology(final int topology);
190       
191
192        public ArrayList<AllocationInterface> getAllocations();
193       
194        public WorkloadUnit getTask();
195
196}
Note: See TracBrowser for help on using the repository browser.