01: /*
02: * This file or a portion of this file is licensed under the terms of
03: * the Globus Toolkit Public License, found in file GTPL, or at
04: * http://www.globus.org/toolkit/download/license.html. This notice must
05: * appear in redistributions of this file, with or without modification.
06: *
07: * Redistributions of this Software, with or without modification, must
08: * reproduce the GTPL in: (1) the Software, or (2) the Documentation or
09: * some other similar material which is provided with the Software (if
10: * any).
11: *
12: * Copyright 1999-2004 University of Chicago and The University of
13: * Southern California. All rights reserved.
14: */
15:
16: package org.griphyn.cPlanner.namespace.aggregator;
17:
18: /**
19: * An internal interface, that allows us to perform aggregation functions
20: * on profiles during merging of profiles.
21: *
22: * @author Karan Vahi
23: * @version $Revision: 50 $
24: */
25: public interface Aggregator {
26:
27: /**
28: * The version number associated with this API of Profile Aggregators.
29: */
30: public static final String VERSION = "1.0";
31:
32: /**
33: * Do the aggregation function on the profile values.
34: *
35: * @param oldValue the existing value for the profile.
36: * @param newValue the new value being added to the profile.
37: * @param dflt the default value to be used in case the values
38: * are not of the correct type.
39: *
40: * @return the computed value as a String.
41: */
42: public String compute(String oldValue, String newValue, String dflt);
43: }
|