/*******************************************************************************
* Copyright (c) 2014-2015 Codenvy, S.A.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Codenvy, S.A. - initial API and implementation
*******************************************************************************/
package org.eclipse.che.ide.editor.orion.client.jso;
import com.google.gwt.core.client.JavaScriptObject;
/** Overlay on the orion JS Annotation model objects. */
public class OrionAnnotationModelOverlay extends JavaScriptObject {
/** JSO mandated protected constructor. */
protected OrionAnnotationModelOverlay() {
}
/**
* Adds an annotation to the annotation model.
*
* @param annotation the annotation to add
*/
public final native void addAnnotation(OrionAnnotationOverlay annotation) /*-{
this.addAnnotation(annotation);
}-*/;
/**
* Removes an annotation from the annotation model.
*
* @param annotation the annotation to remove
*/
public final native void removeAnnotation(OrionAnnotationOverlay annotation) /*-{
this.removeAnnotation(annotation);
}-*/;
/**
* Removes all annotations of the given type.
*
* @param annotationType the type of annotations to remove
*/
public final native void removeAnnotations(String annotationType) /*-{
this.removeAnnotations(annotationType);
}-*/;
/**
* Removes all annotations.
*/
public final native void removeAnnotations() /*-{
this.removeAnnotations();
}-*/;
/**
* Notifies the annotation model that the given annotation has been modified.
*
* @param annotation the modified annotation
*/
public final native void modifyAnnotation(OrionAnnotationOverlay annotation) /*-{
this.modifyAnnotation(annotation);
}-*/;
/**
* Removes and adds the specifed annotations to the annotation model.
*
* @param removedAnnotation the annotation that is removed
* @param addedAnnotation the annotation that is added
*/
public final native void replaceAnnotation(OrionAnnotationOverlay removedAnnotation, OrionAnnotationOverlay addedAnnotation) /*-{
this.replaceAnnotation(removedAnnotation, addedAnnotation);
}-*/;
/**
* Returns an iterator of annotations for the given range of text.
*
* @return annotations iterator
*/
public final native OrionAnnotationIteratorOverlay getAnnotations(int startOffset, int endOffset) /*-{
return this.getAnnotations(startOffset, endOffset);
}-*/;
/**
* Returns an iterator of all annotations.
*
* @return annotations iterator
*/
public final native OrionAnnotationIteratorOverlay getAnnotations() /*-{
return this.getAnnotations();
}-*/;
}