package org.juxtapose.streamline.util;
import java.util.Set;
import org.juxtapose.streamline.producer.ISTMEntryKey;
import org.juxtapose.streamline.producer.ISTMEntryProducer;
import org.juxtapose.streamline.util.data.DataType;
import com.trifork.clj_ds.IPersistentMap;
public interface ISTMEntry {
public ISTMEntryProducer getProducer();
public DataType<?> getValue( String inKey );
public DataType<?> getUpdatedValue( String inKey );
public boolean isDeltaValue( String inKey );
public ISTMEntry addSubscriber(ISTMEntrySubscriber inSubscriber);
public ISTMEntry removeSubscriber(ISTMEntrySubscriber inSubscriber);
public boolean hasSubscribers();
public IPersistentMap<String, DataType<?>> getDataMap();
public ISTMEntry setUpdatedData(IPersistentMap<String, DataType<?>> stateInstruction, Set<String> deltaState, boolean completeUpdate);
public void updateSubscribers(ISTMEntryKey dataKey, boolean inFullUpdate);
public ISTMEntry putDataValue( String inKey, DataType<?> inValue )throws Exception;
public Status getStatus();
public long getSequenceID();
public boolean isCompleteVersion();
public Set<String> getDeltaSet();
public int getHighPriosubscriberCount();
public ISTMEntry changeSubscriberPriority( ISTMEntrySubscriber inSubscriber, int inNewPriority );
public int getPriority();
}