Class AIDocumentModel

java.lang.Object
io.keikai.doc.api.impl.model.AIDocumentModel
All Implemented Interfaces:
io.keikai.doc.api.DocumentModel, io.keikai.doc.api.DocumentSelectableModel, io.keikai.doc.api.DocumentUndoableModel

public class AIDocumentModel extends Object implements io.keikai.doc.api.DocumentModel, io.keikai.doc.api.DocumentSelectableModel, io.keikai.doc.api.DocumentUndoableModel
A document model that wraps another document model for AI assistant.
Author:
jumperchen
  • Constructor Details

    • AIDocumentModel

      public AIDocumentModel(io.keikai.doc.api.DocumentModel model)
      Creates a new AI document model.
      Parameters:
      model - the document model to wrap
  • Method Details

    • toJSON

      public org.zkoss.json.JSONObject toJSON()
      Specified by:
      toJSON in interface io.keikai.doc.api.DocumentModel
    • loadJSON

      public void loadJSON(org.zkoss.json.JSONObject json)
      Specified by:
      loadJSON in interface io.keikai.doc.api.DocumentModel
    • getRoot

      public io.keikai.doc.api.impl.node.RootNode getRoot()
      Specified by:
      getRoot in interface io.keikai.doc.api.DocumentModel
    • setRoot

      public void setRoot(io.keikai.doc.api.DocumentNode<?,?,?> root)
      Specified by:
      setRoot in interface io.keikai.doc.api.DocumentModel
    • getNode

      public io.keikai.doc.api.impl.node.AbstractDocumentNode<?,?,?> getNode(io.keikai.doc.api.Path path)
      Specified by:
      getNode in interface io.keikai.doc.api.DocumentModel
    • getPath

      public io.keikai.doc.api.Path getPath(io.keikai.doc.api.DocumentNode<?,?,?> node)
      Specified by:
      getPath in interface io.keikai.doc.api.DocumentModel
    • addListener

      public void addListener(io.keikai.doc.api.DocumentModelListener listener)
      Specified by:
      addListener in interface io.keikai.doc.api.DocumentModel
    • removeListener

      public void removeListener(io.keikai.doc.api.DocumentModelListener listener)
      Specified by:
      removeListener in interface io.keikai.doc.api.DocumentModel
    • getListeners

      public List<io.keikai.doc.api.DocumentModelListener> getListeners()
      Specified by:
      getListeners in interface io.keikai.doc.api.DocumentModel
    • fireOperation

      public void fireOperation(io.keikai.doc.api.DocumentOperation operation)
      Specified by:
      fireOperation in interface io.keikai.doc.api.DocumentModel
    • getLock

      public ReadWriteLock getLock()
      Specified by:
      getLock in interface io.keikai.doc.api.DocumentModel
    • getSelection

      public io.keikai.doc.api.DocumentRange getSelection()
      Specified by:
      getSelection in interface io.keikai.doc.api.DocumentSelectableModel
    • setSelection

      public void setSelection(io.keikai.doc.api.DocumentRange selection)
      Specified by:
      setSelection in interface io.keikai.doc.api.DocumentSelectableModel
    • getRevisionHistory

      public List<io.keikai.doc.api.DocumentOperationBatch> getRevisionHistory()
      Specified by:
      getRevisionHistory in interface io.keikai.doc.api.DocumentUndoableModel
    • getCurrentRevisionIndex

      public int getCurrentRevisionIndex()
      Specified by:
      getCurrentRevisionIndex in interface io.keikai.doc.api.DocumentUndoableModel
    • getMaxRevisionSize

      public int getMaxRevisionSize()
      Specified by:
      getMaxRevisionSize in interface io.keikai.doc.api.DocumentUndoableModel
    • setMaxRevisionSize

      public void setMaxRevisionSize(int size)
      Specified by:
      setMaxRevisionSize in interface io.keikai.doc.api.DocumentUndoableModel
    • canUndo

      public boolean canUndo()
      Specified by:
      canUndo in interface io.keikai.doc.api.DocumentUndoableModel
    • undo

      public void undo()
      Specified by:
      undo in interface io.keikai.doc.api.DocumentUndoableModel
    • canRedo

      public boolean canRedo()
      Specified by:
      canRedo in interface io.keikai.doc.api.DocumentUndoableModel
    • redo

      public void redo()
      Specified by:
      redo in interface io.keikai.doc.api.DocumentUndoableModel
    • clearRevisionHistory

      public void clearRevisionHistory()
      Specified by:
      clearRevisionHistory in interface io.keikai.doc.api.DocumentUndoableModel
    • runBatch

      public void runBatch(Runnable r)
      Specified by:
      runBatch in interface io.keikai.doc.api.DocumentModel
    • runBatch

      public void runBatch(boolean fromClient, Runnable r)
      Specified by:
      runBatch in interface io.keikai.doc.api.DocumentModel
    • runBatch

      public void runBatch(CompletableFuture<?> future)
      Runs a batch operation and adds it to the revision history. Unlike runBatch(Runnable), all the operations in the future will be added to the revision history as a single batch.
      Parameters:
      future - the future to run
    • runWithMergeBatch

      public void runWithMergeBatch(Runnable runnable)
      Runs a batch operation and adds it to the revision history. Unlike runBatch(Runnable), all the operations in the runnable will be merged to the current revision history.
      Parameters:
      runnable - the operation to run