1 |
mojays |
2 |
package appl.parallel.spmd.split; |
2 |
|
|
|
3 |
|
|
import java.awt.Rectangle; |
4 |
|
|
|
5 |
|
|
import org.w3c.dom.css.Rect; |
6 |
|
|
|
7 |
|
|
import appl.data.DataLoader; |
8 |
|
|
|
9 |
|
|
/** |
10 |
|
|
* A resource that is splittable must provide some information to work with {@link SplitMap}s. |
11 |
|
|
* Important is the with and the height of the resource to be splitted. |
12 |
|
|
* |
13 |
|
|
* |
14 |
|
|
* @author Dominik Appl |
15 |
|
|
*/ |
16 |
|
|
public interface SplittableResource extends DataPartition { |
17 |
|
|
/** |
18 |
|
|
* Should return a unique ID for this resource. Standard implementation |
19 |
|
|
* would be returning the {@link Object#hashCode() hashcode} of the object. |
20 |
|
|
* |
21 |
|
|
* @return a ID which is unique for this client |
22 |
|
|
* |
23 |
|
|
*/ |
24 |
|
|
public int getRootID(); |
25 |
|
|
|
26 |
|
|
/** |
27 |
|
|
* Returns the loader which is responible for loading the data. This loader should be |
28 |
|
|
* independet from the current system. This means that, e.g. for a loader which |
29 |
|
|
* loads a grid from filesystem, that all paths should be relative (and not |
30 |
|
|
* absolute), so that a possibly remote resource can load the data from its local |
31 |
|
|
* filesystem, if the data is stored in the same position relative to the home |
32 |
|
|
* directory. |
33 |
|
|
* |
34 |
|
|
* @return a loader for this resource. |
35 |
|
|
*/ |
36 |
|
|
public DataLoader getLocalLoader(); |
37 |
|
|
|
38 |
|
|
/** |
39 |
|
|
* @return the splittable is splitted according to its splitHeight (example: the height of a raster) |
40 |
|
|
* */ |
41 |
|
|
public int getSplitHeight(); |
42 |
|
|
|
43 |
|
|
/** |
44 |
|
|
* @return the splittable is splitted according to its splitWidth (example: the width of a raster or the length of an array) |
45 |
|
|
* */ |
46 |
|
|
public int getSplitWidth(); |
47 |
|
|
} |