1 |
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 |
} |