/******************************************************************************* * Copyright (c) 2007, 2009 Red Hat, Inc. * 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: * Red Hat - initial API and implementation *******************************************************************************/ package org.eclipse.linuxtools.rpm.ui.editor.parser; import java.text.MessageFormat; import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.IDocument; public class SpecfileSection extends SpecfileElement { private SpecfilePackage parentPackage; private int sectionEndLine; public SpecfileSection(String name, Specfile specfile) { super(name); parentPackage = null; super.setSpecfile(specfile); } public SpecfilePackage getPackage() { return parentPackage; } public void setPackage(SpecfilePackage thePackage) { this.parentPackage = thePackage; } @Override public String toString() { if (parentPackage == null) { return getName(); } else { return MessageFormat.format("{0} {1}", getName(), parentPackage); //$NON-NLS-1$ } } public String getPackageName() { return parentPackage.getPackageName(); } /** * @param sectionEnd * the sectionEnd to set */ public void setSectionEndLine(int sectionEnd) { this.sectionEndLine = sectionEnd; } /** * @return the sectionEnd */ public int getSectionEndLine() { return sectionEndLine; } public String getContents() { IDocument document = getSpecfile().getDocument(); int beginning = getLineStartPosition(); try { int end = document.getLineOffset(getSectionEndLine()); return document.get(beginning, end-beginning); } catch (BadLocationException e) { // TODO Auto-generated catch block e.printStackTrace(); } return ""; //$NON-NLS-1$ } }