blob: 482742aa15879fc585480a5d5a65bd73d76ad2b7 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009, 2014 Xored Software Inc 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:
* Xored Software Inc - initial API and implementation and/or initial documentation
*******************************************************************************/
package org.eclipse.rcptt.sherlock.core.model.sherlock.report;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.EMap;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Node</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node#getStartTime <em>Start Time</em>}</li>
* <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node#getEndTime <em>End Time</em>}</li>
* <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node#getChildren <em>Children</em>}</li>
* <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node#getEvents <em>Events</em>}</li>
* <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node#getProperties <em>Properties</em>}</li>
* <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node#getParent <em>Parent</em>}</li>
* <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node#getReport <em>Report</em>}</li>
* <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node#getSnapshots <em>Snapshots</em>}</li>
* <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node#getDuration <em>Duration</em>}</li>
* </ul>
*
* @see org.eclipse.rcptt.sherlock.core.model.sherlock.report.ReportPackage#getNode()
* @model
* @generated
*/
public interface Node extends EObject {
/**
* Returns the value of the '<em><b>Start Time</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Start Time</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Start Time</em>' attribute.
* @see #setStartTime(long)
* @see org.eclipse.rcptt.sherlock.core.model.sherlock.report.ReportPackage#getNode_StartTime()
* @model
* @generated
*/
long getStartTime();
/**
* Sets the value of the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node#getStartTime <em>Start Time</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Start Time</em>' attribute.
* @see #getStartTime()
* @generated
*/
void setStartTime(long value);
/**
* Returns the value of the '<em><b>End Time</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>End Time</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>End Time</em>' attribute.
* @see #setEndTime(long)
* @see org.eclipse.rcptt.sherlock.core.model.sherlock.report.ReportPackage#getNode_EndTime()
* @model
* @generated
*/
long getEndTime();
/**
* Sets the value of the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node#getEndTime <em>End Time</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>End Time</em>' attribute.
* @see #getEndTime()
* @generated
*/
void setEndTime(long value);
/**
* Returns the value of the '<em><b>Children</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node}.
* It is bidirectional and its opposite is '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node#getParent <em>Parent</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Children</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Children</em>' containment reference list.
* @see org.eclipse.rcptt.sherlock.core.model.sherlock.report.ReportPackage#getNode_Children()
* @see org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node#getParent
* @model opposite="parent" containment="true"
* @generated
*/
EList<Node> getChildren();
/**
* Returns the value of the '<em><b>Events</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Event}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Events</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Events</em>' containment reference list.
* @see org.eclipse.rcptt.sherlock.core.model.sherlock.report.ReportPackage#getNode_Events()
* @model containment="true"
* @generated
*/
EList<Event> getEvents();
/**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Name</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Name</em>' attribute.
* @see #setName(String)
* @see org.eclipse.rcptt.sherlock.core.model.sherlock.report.ReportPackage#getNode_Name()
* @model
* @generated
*/
String getName();
/**
* Sets the value of the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node#getName <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Name</em>' attribute.
* @see #getName()
* @generated
*/
void setName(String value);
/**
* 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 org.eclipse.emf.ecore.EObject},
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Properties</em>' map isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Properties</em>' map.
* @see org.eclipse.rcptt.sherlock.core.model.sherlock.report.ReportPackage#getNode_Properties()
* @model mapType="org.eclipse.rcptt.sherlock.core.model.sherlock.report.PropertyMap<org.eclipse.emf.ecore.EString, org.eclipse.emf.ecore.EObject>"
* @generated
*/
EMap<String, EObject> getProperties();
/**
* Returns the value of the '<em><b>Parent</b></em>' container reference.
* It is bidirectional and its opposite is '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node#getChildren <em>Children</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Parent</em>' container reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Parent</em>' container reference.
* @see #setParent(Node)
* @see org.eclipse.rcptt.sherlock.core.model.sherlock.report.ReportPackage#getNode_Parent()
* @see org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node#getChildren
* @model opposite="children" transient="false"
* @generated
*/
Node getParent();
/**
* Sets the value of the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node#getParent <em>Parent</em>}' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Parent</em>' container reference.
* @see #getParent()
* @generated
*/
void setParent(Node value);
/**
* Returns the value of the '<em><b>Report</b></em>' container reference.
* It is bidirectional and its opposite is '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Report#getRoot <em>Root</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Report</em>' container reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Report</em>' container reference.
* @see #setReport(Report)
* @see org.eclipse.rcptt.sherlock.core.model.sherlock.report.ReportPackage#getNode_Report()
* @see org.eclipse.rcptt.sherlock.core.model.sherlock.report.Report#getRoot
* @model opposite="root" transient="false"
* @generated
*/
Report getReport();
/**
* Sets the value of the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node#getReport <em>Report</em>}' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Report</em>' container reference.
* @see #getReport()
* @generated
*/
void setReport(Report value);
/**
* Returns the value of the '<em><b>Snapshots</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Snaphot}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Snapshots</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Snapshots</em>' containment reference list.
* @see org.eclipse.rcptt.sherlock.core.model.sherlock.report.ReportPackage#getNode_Snapshots()
* @model containment="true"
* @generated
*/
EList<Snaphot> getSnapshots();
/**
* Returns the value of the '<em><b>Duration</b></em>' attribute.
* The default value is <code>"0"</code>.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Duration</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Duration</em>' attribute.
* @see #setDuration(long)
* @see org.eclipse.rcptt.sherlock.core.model.sherlock.report.ReportPackage#getNode_Duration()
* @model default="0"
* @generated
*/
long getDuration();
/**
* Sets the value of the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node#getDuration <em>Duration</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Duration</em>' attribute.
* @see #getDuration()
* @generated
*/
void setDuration(long value);
} // Node