blob: ffee319272a8e52a80eba0bddc808138b9364667 [file] [log] [blame]
<?php
/*******************************************************************************
* Copyright (c) 2009, 2014 Eclipse Foundation 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:
* Eclipse Foundation - Initial version
* Anthony Hunter - changes for EMF Query
********************************************************************************/
require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
$App = new App();
$Nav = new Nav();
$Menu = new Menu();
include($App->getProjectCommon());
$localVersion = false;
$pageTitle = "Eclipse EMF Query";
// # Paste your HTML content between the EOHTML markers!
$html = <<<EOHTML
<div id="bigbuttons">
<h3>Primary Links</h3>
<ul>
<li><a id="buttonDownload" href="downloads.php" title="Download">
Downloads, Software Install Site</a></li>
<li><a id="buttonDocumentation" href="documentation.php" title="Documentation">
Tutorials, Examples, Reference Documentation</a></li>
<li><a id="buttonSupport" href="support.php" title="Support">
Bug Tracker, Newsgroup</a></li>
<li><a id="buttonInvolved" href="getting_involved.php" title="Getting Involved">
git, Workspace Setup, Wiki, Committers</a></li>
</ul>
</div>
<div id="midcolumn">
<h3>Eclipse Modeling Framework (EMF) Model Query</h3>
<div id="introText">
<p>EMF model query facilitates the process of search and retrieval of model elements of interest in a flexible yet controlled and structured manner. Provides API support for the basic EObject based Condition objects that are used to formulate queries for EMF models.</p>
<p>EMF model query provides the following classes/interfaces to support queries.</p>
<p><ol>
<li>The IEObjectSource interface provides the search scope elements to be used in a query.</li>
<li>The SELECT class implements a template-function that does the iteration over model elements and applies the search condition on each; it collects the resulting elements into a QueryResultSet object and returns it to the caller.</li>
<li>The FROM class represents the elements to search. It is responsible of providing an appropriate iterator for the elements in the search space.</li>
<li>The WHERE class applies the search conditions over the elements in the search set.</li>
<li>The UPDATE class passes the elements who satisfy the search condition to a caller-supplied modification function. It collects the modified elements into a QueryResultSet object and returns it to the caller.</li>
<li>The QueryResultSet class represents the set of elements returned by a given query.</li>
<li>The EObjectCondition class is the abstract parent of all conditions that deal with model-elements (i.e., EObjects). It incorporates the services of a PruneHandler in order to answers whether or not to prune the element tree at a specific element and thus ignore its children.</li>
<li>The ConditionPolicy class is used to allow the user to decide how to apply a given condition on a collection of a model-element EAttributes or EReferences values. Supports both the: exists (ANY) and for-all (ALL) semantics.</li>
<li>The EObjectStructuralFeatureValueCondition class is the parent class for conditions that are responsible for checking the values held in model-elements attributes or references.</li>
</ol></p>
</div>
</div>
<div id="rightcolumn">
<div>
<h3>Current Status</h3>
<p>Development is underway for the proposed EMF Query 1.10.0 release for Eclipse Neon, due June 2016.</p>
</div>
<div id="headlines">
<h3>EMF Query 1.9.0 Now Available</h3>
<p><i>June 24, 2015 -</i> EMF Query 1.9.0 for Eclipse Mars has been released. Check the <a href="/emf-query/downloads.php">Download</a> page.</p>
</div>
</div>
EOHTML;
# Generate the web page
$App->generatePage($theme, $Menu, null, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>