view dwtx/jface/text/DocumentRewriteSessionEvent.d @ 129:eb30df5ca28b

Added JFace Text sources
author Frank Benoit <benoit@tionex.de>
date Sat, 23 Aug 2008 19:10:48 +0200
parents
children c4fb132a086c
line wrap: on
line source

/*******************************************************************************
 * Copyright (c) 2000, 2006 IBM Corporation and others.
 * 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:
 *     IBM Corporation - initial API and implementation
 * Port to the D programming language:
 *     Frank Benoit <benoit@tionex.de>
 *******************************************************************************/
module dwtx.jface.text.DocumentRewriteSessionEvent;

import dwt.dwthelper.utils;

import dwtx.core.runtime.Assert;


/**
 * Description of the state of document rewrite sessions.
 *
 * @see dwtx.jface.text.IDocument
 * @see dwtx.jface.text.IDocumentExtension4
 * @see dwtx.jface.text.IDocumentRewriteSessionListener
 * @since 3.1
 */
public class DocumentRewriteSessionEvent {

    public final static Object SESSION_START= new Object();
    public final static Object SESSION_STOP= new Object();

    /** The changed document */
    public IDocument fDocument;
    /** The session */
    public DocumentRewriteSession fSession;
    /** The change type */
    public Object fChangeType;

    /**
     * Creates a new document event.
     *
     * @param doc the changed document
     * @param session the session
     * @param changeType the change type. This is either
     *            {@link DocumentRewriteSessionEvent#SESSION_START} or
     *            {@link DocumentRewriteSessionEvent#SESSION_STOP}.
     */
    public DocumentRewriteSessionEvent(IDocument doc, DocumentRewriteSession session, Object changeType) {
        Assert.isNotNull(doc);
        Assert.isNotNull(session);

        fDocument= doc;
        fSession= session;
        fChangeType= changeType;
    }

    /**
     * Returns the changed document.
     *
     * @return the changed document
     */
    public IDocument getDocument() {
        return fDocument;
    }

    /**
     * Returns the change type of this event. This is either
     * {@link DocumentRewriteSessionEvent#SESSION_START}or
     * {@link DocumentRewriteSessionEvent#SESSION_STOP}.
     *
     * @return the change type of this event
     */
    public Object getChangeType() {
        return fChangeType;
    }

    /**
     * Returns the rewrite session.
     *
     * @return the rewrite session
     */
    public DocumentRewriteSession getSession() {
        return fSession;
    }
}