Package org.erlide.wrangler.refactoring.duplicatedcode.ui.elements

Source Code of org.erlide.wrangler.refactoring.duplicatedcode.ui.elements.DuplicatedCodeInstanceElement

/*******************************************************************************
* Copyright (c) 2010 György Orosz.
* 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:
*     György Orosz - initial API and implementation
******************************************************************************/
package org.erlide.wrangler.refactoring.duplicatedcode.ui.elements;

import org.eclipse.core.resources.IFile;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IDocument;
import org.erlide.util.ErlLogger;
import org.erlide.wrangler.refactoring.util.WranglerUtils;

/**
* Treeview element, which represents a single code part string
*
* @author Gyorgy Orosz
*
*/
public class DuplicatedCodeInstanceElement extends AbstractResultTreeObject {

    private String replicationFunction = "";
    private int startOffset;
    private int endOffset;
    private String codePartString;
    private final IFile containingFile;
    private final int startLine;

    // private ITextEditor containingEditor;

    /**
     * Constructor
     *
     * @param containingFile
     *            file which contains the code part string
     * @param startLine
     *            starting line of the selection
     * @param startColumn
     *            starting column of the selection
     * @param endLine
     *            ending line of the selection
     * @param endColumn
     *            ending column of the selection
     */
    public DuplicatedCodeInstanceElement(final IFile containingFile, final int startLine,
            final int startColumn, final int endLine, final int endColumn) {

        this.containingFile = containingFile;
        this.startLine = startLine;
        final IDocument doc = WranglerUtils.getDocument(containingFile);
        try {
            startOffset = WranglerUtils.calculateOffsetFromPosition(startLine,
                    startColumn, doc);
            endOffset = WranglerUtils
                    .calculateOffsetFromPosition(endLine, endColumn, doc);
            codePartString = WranglerUtils.getTextSegment(startOffset, endOffset, doc);
        } catch (final BadLocationException e) {
            ErlLogger.error(e);
        }

    }

    /**
     * Return the starting offset of the represented selection
     *
     * @return starting offset of the selection
     */
    public int getStartOffset() {
        return startOffset;
    }

    /**
     * Return the ending offset of the represented selection
     *
     * @return ending offset of the selection
     */
    public int getEndOffset() {
        return endOffset;
    }

    /*
     * public ITextEditor getEditor() { return containingEditor; }
     */

    /**
     * Returns the file which contains the selection
     *
     * @return file which contains the selection
     */
    public IFile getContainingFile() {
        return containingFile;
    }

    /**
     * Returns the string which is represented
     *
     * @return code part string
     */
    public String getCodePartString() {
        return simplifyCodePartString(codePartString);
    }

    /**
     * @return the replicationfunction
     */
    public String getReplicationFunction() {
        return replicationFunction;
    }

    /**
     * Sets the replicationfunction
     */
    public void setReplicationFunction(final String replicationFunction) {
        this.replicationFunction = replicationFunction;
    }

    @Override
    public String getName() {
        return startLine + ": \"" + getCodePartString() + "\"";
    }

    protected String simplifyCodePartString(final String input) {
        return input;// input.replace("\n", " ").replace("\t", "").replace("\r",
        // "");

    }
}
TOP

Related Classes of org.erlide.wrangler.refactoring.duplicatedcode.ui.elements.DuplicatedCodeInstanceElement

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.