001 package com.hammurapi.flow.runtime;
002
003 /**
004 * Instantiates property sets.
005 * @author Pavel
006 */
007 public interface PropertySetFactory {
008
009 /**
010 * Creates new property set.
011 * @param chain Property sets can be chained. Chaining allows to
012 * build chains of property sets with forward-only modifications semantics.
013 * New property set access operations delegate to chains if the property
014 * set itself does not contain requested values.
015 * All update and remove operations are local to the property
016 * set (and mounted sets) - chains are never modified.
017 * @return New property set.
018 */
019 PropertySet createPropertySet(PropertySet... chain);
020 }