01: /* Copyright 2004 The JA-SIG Collaborative. All rights reserved.
02: * See license distributed with this file and
03: * available online at http://www.uportal.org/license.html
04: */
05:
06: package org.jasig.portal.services.persondir.support.merger;
07:
08: import java.util.Map;
09:
10: /**
11: * Interface for merging attributes from sibling PersonAttributeDaos.
12: * @author andrew.petro@yale.edu
13: * @version $Revision: 35128 $ $Date: 2004-12-13 16:27:49 -0700 (Mon, 13 Dec 2004) $
14: */
15: public interface IAttributeMerger {
16:
17: /**
18: * Modify the "toModify" argument in consideration of the "toConsider"
19: * argument. Return the resulting Map, which may or may not be the same
20: * reference as the "toModify" argument.
21: * The modification performed is implementation-specific -- implementations
22: * of this interface exist to perform some particular transformation on
23: * the toModify argument given the toConsider argument.
24: * @param toModify - modify this map
25: * @param toConsider - in consideration of this map
26: * @return the modified Map
27: * @throws IllegalArgumentException if either toModify or toConsider is null
28: */
29: public Map mergeAttributes(Map toModify, Map toConsider);
30:
31: }
|