001 package com.hammurapi.flow.runtime;
002
003 /**
004 * Implementations of this interface are leveraged by
005 * property sets to implement smart forward-only change semantics.
006 * @author Pavel Vlasov
007 *
008 * @param <T>
009 */
010 public interface Versionable<T> {
011
012 /**
013 * Creates new version of the object.
014 * @return New version.
015 */
016 T createVersion();
017 }