1 |
mojays |
2 |
package appl.parallel.spmd.split; |
2 |
|
|
|
3 |
|
|
/** |
4 |
|
|
* A {@link PartitionInfo} object contains information about the partition, which is |
5 |
|
|
* normally transfered a server. It contains a {@link SplitMap} for the |
6 |
|
|
* partition, the position inside the {@link SplitMap}, the name of the base |
7 |
|
|
* resource (the mother resource) and a method which supports cloning the |
8 |
|
|
* information. |
9 |
|
|
* |
10 |
|
|
* @see SinglePartitionInfo |
11 |
|
|
* |
12 |
|
|
* @author Dominik Appl |
13 |
|
|
*/ |
14 |
|
|
public interface PartitionInfo extends Cloneable { |
15 |
|
|
|
16 |
|
|
/** |
17 |
|
|
* @return the splitMap for this partition |
18 |
|
|
*/ |
19 |
|
|
public abstract SplitMap getSplitMap(); |
20 |
|
|
|
21 |
|
|
/** |
22 |
|
|
* @return the splitMapPos position inside the {@link SplitMap} |
23 |
|
|
*/ |
24 |
|
|
public abstract int getSplitMapPos(); |
25 |
|
|
|
26 |
|
|
/** |
27 |
|
|
* @return the baseResourceName the name of the base resource (mother resource). The name |
28 |
|
|
* is string which is the user provides for identification an retrieval on server side. |
29 |
|
|
*/ |
30 |
|
|
public abstract String getBaseResourceName(); |
31 |
|
|
|
32 |
|
|
/** |
33 |
|
|
* This method can especially be used by multi data methods to create a new instance of this |
34 |
|
|
* data type |
35 |
|
|
* |
36 |
|
|
* @param rootID the id of the base resource for the NEW copy of the {@link PartitionInfo} |
37 |
|
|
* |
38 |
|
|
* @return the new {@link PartitionInfo} |
39 |
|
|
*/ |
40 |
|
|
public abstract PartitionInfo clone(int rootID); |
41 |
|
|
|
42 |
|
|
} |