blob: b91b4d2c2063decf7efac0890600eebe780d0757 [file] [log] [blame]
/**
* Copyright (c) 2008, 2015 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
*/
package org.eclipse.e4.ui.model.application.ui;
import java.util.List;
import java.util.Map;
import org.eclipse.e4.core.contexts.IEclipseContext;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Context</b></em>'.
* <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
* <p>
* This class is mixed into a UI element when that element is expected to participate
* in the Dependency Injection context hierarchy. The context life-cycle matches
* that of the rendered element it belongs to. It's automatically created when the
* element is rendered and disposed when the element is unrendered.
* </p>
* @since 1.0
* @noimplement This interface is not intended to be implemented by clients.
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link org.eclipse.e4.ui.model.application.ui.MContext#getContext <em>Context</em>}</li>
* <li>{@link org.eclipse.e4.ui.model.application.ui.MContext#getVariables <em>Variables</em>}</li>
* <li>{@link org.eclipse.e4.ui.model.application.ui.MContext#getProperties <em>Properties</em>}</li>
* </ul>
*
* @model interface="true" abstract="true"
* @generated
*/
public interface MContext {
/**
* Returns the value of the '<em><b>Context</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* <p>
* This attribute is a reference to the IEclipseContext for this UI element. It will be
* non-null only when the element is rendered.
* </p>
* <!-- end-model-doc -->
* @return the value of the '<em>Context</em>' attribute.
* @see #setContext(IEclipseContext)
* @model dataType="org.eclipse.e4.ui.model.application.IEclipseContext" transient="true" derived="true"
* @generated
*/
IEclipseContext getContext();
/**
* Sets the value of the '{@link org.eclipse.e4.ui.model.application.ui.MContext#getContext <em>Context</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Context</em>' attribute.
* @see #getContext()
* @generated
*/
void setContext(IEclipseContext value);
/**
* Returns the value of the '<em><b>Variables</b></em>' attribute list.
* The list contents are of type {@link java.lang.String}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* <p>
* <strong>Developers</strong>:
* Add more detailed documentation by editing this comment in
* org.eclipse.ui.model.workbench/model/UIElements.ecore.
* There is a GenModel/documentation node under each type and attribute.
* </p>
* <!-- end-model-doc -->
* @return the value of the '<em>Variables</em>' attribute list.
* @model ordered="false"
* @generated
*/
List<String> getVariables();
/**
* Returns the value of the '<em><b>Properties</b></em>' map.
* The key is of type {@link java.lang.String},
* and the value is of type {@link java.lang.String},
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* <p>
* <strong>Developers</strong>:
* Add more detailed documentation by editing this comment in
* org.eclipse.ui.model.workbench/model/UIElements.ecore.
* There is a GenModel/documentation node under each type and attribute.
* </p>
* <!-- end-model-doc -->
* @return the value of the '<em>Properties</em>' map.
* @model mapType="org.eclipse.e4.ui.model.application.StringToStringMap&lt;org.eclipse.emf.ecore.EString, org.eclipse.emf.ecore.EString&gt;"
* @generated
*/
Map<String, String> getProperties();
} // MContext