| UniqueProperties.java |
/*
* $Id: UniqueProperties.java,v 1.6 2010/10/25 20:36:51 agoubard Exp $
*
* See the COPYRIGHT file for redistribution and use restrictions.
*/
package org.xins.common.collections;
import java.util.Properties;
import org.xins.common.Log;
/**
* Class that indicates whether a property value is overwritten.
* It also logs which property has been overwritten.
*
* @version $Revision: 1.6 $ $Date: 2010/10/25 20:36:51 $
* @author <a href="mailto:anthony.goubard@japplis.com">Anthony Goubard</a>
*
* @since XINS 2.0.
*/
public class UniqueProperties extends Properties {
/**
* Flag that indicates that a identical key has been put more than once in
* this properties object.
*/
private boolean _unique = true;
@Override
public Object put(Object key, Object value) {
Object oldValue = super.put(key, value);
if (oldValue != null &&
key instanceof String && value instanceof String && oldValue instanceof String) {
_unique = false;
Log.log_1351((String) key, (String) oldValue, (String) value);
}
return oldValue;
}
/**
* Indicates whether a property has been changed in this collection.
*
* @return
* <code>true</code> if none of the properties were changed, <code>false</code> otherwise.
*/
public boolean isUnique() {
return _unique;
}
}