All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ai.vespa.schemals.schemadocument.DocumentManager Maven / Gradle / Ivy

There is a newer version: 8.441.21
Show newest version
package ai.vespa.schemals.schemadocument;

import org.eclipse.lsp4j.VersionedTextDocumentIdentifier;

import ai.vespa.schemals.context.ParseContext;
import ai.vespa.schemals.tree.SchemaNode;
import ai.vespa.schemals.tree.YQLNode;

/**
 * DocumentManager
 * For each file the language server is responsible for there will be a corresponding class implementing DocumentManager which is responsible for parsing the file and getting diagnostics.
 */
public interface DocumentManager {

    public enum DocumentType {
        SCHEMA,
        PROFILE,
        YQL
    }

    public ParseContext getParseContext();

    public void updateFileContent(String content);
    public void updateFileContent(String content, Integer version);

    public void reparseContent();

    public void setIsOpen(boolean isOpen);
    public boolean getIsOpen();

    public SchemaNode getRootNode();
    public YQLNode getRootYQLNode();

    public SchemaDocumentLexer lexer();

    public String getFileURI();

    public String getCurrentContent();

    public VersionedTextDocumentIdentifier getVersionedTextDocumentIdentifier();

    public DocumentType getDocumentType();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy