blob: 657d6ba4cd7a3b8371c8bad678116c5c176f6cac [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2010, 2011 Obeo.
* 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:
* Obeo - initial API and implementation
*******************************************************************************/
package org.eclipse.mylyn.docs.intent.core.query;
import org.eclipse.mylyn.docs.intent.core.document.IntentDocument;
import org.eclipse.mylyn.docs.intent.core.document.IntentStructuredElement;
import org.eclipse.mylyn.docs.intent.markup.markup.Block;
/**
* Provides usefull methods for getting informations about Structured Element.
*
* @author <a href="mailto:alex.lagarde@obeo.fr">Alex Lagarde</a>
*/
public final class StructuredElementHelper {
/**
* StructuredElementHelper constructor.
*/
private StructuredElementHelper() {
}
/**
* Returns the title of a modeling Unit.
*
* @param element
* the element from which the title must be extracted
* @return the title of a modeling Unit (empty String if no title).
*/
public static String getTitle(IntentStructuredElement element) {
return getTitle(element, Integer.MAX_VALUE);
}
/**
* Returns the title of a StructuredElement.
*
* @param element
* the element from which the title must be extracted
* @param maxSize
* the maximum size of the returned title
* @return the title of a modeling Unit (empty String if no title).
*/
public static String getTitle(IntentStructuredElement element, int maxSize) {
Block block = ((IntentStructuredElement)element).getTitle();
String title = DescriptionUnitHelper.getLabelForMarkupElement(block, maxSize);
if (title.length() < 2) {
if (element instanceof IntentDocument) {
title = "Document";
} else if (element.eContainer() instanceof IntentDocument) {
title = "Untitled Chapter";
} else {
title = "Untitled Section";
}
}
return title;
}
}