/** * */ package org.msh.customdata; import java.util.Set; /** * This is a simple interface that is exposed by the {@link CustomObject} interface. * The implementation of this interface will store the custom properties * and its values of an object. * * @author Ricardo Memoria * */ public interface CustomProperties { /** * Change the value of a custom property * @param propertyName is the property name * @param value is the new value of this property */ void setValue(String propertyName, Object value); /** * Return the value of a custom property * @param propertyName is the property name * @return the value of the property, or null if the value or property doesn't exist */ Object getValue(String propertyName); /** * Return the list of all custom properties stored in the object * @return List of string values containing the name of the property */ Set getProperties(); /** * Delete a custom property from an object * @param propertyName is the property name */ void deleteProperty(String propertyName); /** * Clear all property values */ void clear(); }