/******************************************************************************* * Copyright (c) 2013 AKSW Xturtle Project, itemis AG (http://www.itemis.eu). * 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 ******************************************************************************/ /* * generated by Xtext */ package de.itemis.tooling.xturtle.ui.labeling; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; import org.eclipse.xtext.naming.IQualifiedNameProvider; import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider; import com.google.common.base.Optional; import com.google.inject.Inject; import de.itemis.tooling.xturtle.resource.TurtleResourceService; import de.itemis.tooling.xturtle.xturtle.Base; import de.itemis.tooling.xturtle.xturtle.PrefixId; import de.itemis.tooling.xturtle.xturtle.QNameDef; import de.itemis.tooling.xturtle.xturtle.Resource; import de.itemis.tooling.xturtle.xturtle.UriDef; /** * Provides labels for a EObjects. * * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#labelProvider */ public class XturtleLabelProvider extends DefaultEObjectLabelProvider { @Inject TurtleResourceService service; @Inject IQualifiedNameProvider nameProvider; @Inject public XturtleLabelProvider(AdapterFactoryLabelProvider delegate) { super(delegate); } public String image(Resource res){ return "definition.gif"; } public String image(PrefixId prefix){ return "import.gif"; } public String image(Base base){ return "import.gif"; } private String getUriText(EObject obj, String prefix){ String uri=service.getUriString(obj); return prefix+(uri!=null&&!prefix.equals(uri)?": "+uri:""); } public String text(QNameDef def){ return getUriText(def, Optional.fromNullable(def.getId()).or("")); } public String text(UriDef def){ return getUriText(def, Optional.fromNullable(def.getUri()).or("")); } public String text(Base def){ return getUriText(def, "@base"); } public String text(PrefixId def){ return getUriText(def, "@prefix "+Optional.fromNullable(def.getId()).or("")); } }