package net.ion.craken.node;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import net.ion.craken.node.crud.ChildQueryRequest;
import net.ion.craken.node.crud.WriteNodeImpl.Touch;
import net.ion.craken.node.crud.tree.Fqn;
import net.ion.craken.node.crud.tree.impl.PropertyValue;
import org.apache.lucene.queryparser.classic.ParseException;
public interface WriteSession extends ISession<WriteNode> {
public WriteSession tranId(String myid) ;
public String tranId() ;
public PropertyValue idValue() ;
public WriteNode resetBy(String fqn);
public WriteNode pathBy(String fqn0, Object... fqns) ;
public WriteNode createBy(String fqn);
// public WriteNode logBy(String tranId);
public void failRollback();
public void endCommit() throws IOException;
public Credential credential() ;
public Workspace workspace() ;
public void notifyTouch(WriteNode source, Fqn fqn, Touch touch, Map<String, Fqn> affected);
public void continueUnit() throws IOException;
// public WriteSession ignoreIndex(String... fields);
//
// public PropertyId idInfoTo(PropertyId pid) ;
public ChildQueryRequest queryRequest(String string) throws IOException, ParseException;
public ReadSession readSession() ;
public void prepareCommit() throws IOException;
public WriteSession iwconfig(IndexWriteConfig wconfig);
public IndexWriteConfig iwconfig();
public WriteSession attribute(Class clz, Object value) ;
public <T> T attribute(Class<T> clz) ;
@Deprecated
public List<TouchedRow> touched(Touch touch);
}