/** * <copyright> * Copyright (c) 2010-2014 Henshin developers. 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 * </copyright> */ package org.eclipse.emf.henshin.model; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EFactory; import org.eclipse.emf.ecore.EReference; /** * <!-- begin-user-doc --> * The <b>Factory</b> for the Henshin model. * It provides a create method for each non-abstract class of the model. * <!-- end-user-doc --> * @see org.eclipse.emf.henshin.model.HenshinPackage * @generated */ public interface HenshinFactory extends EFactory { /** * The singleton instance of the factory. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ HenshinFactory eINSTANCE = org.eclipse.emf.henshin.model.impl.HenshinFactoryImpl.init(); /** * Returns a new object of class '<em>Annotation</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Annotation</em>'. * @generated */ Annotation createAnnotation(); /** * Returns a new object of class '<em>Module</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Module</em>'. * @generated */ Module createModule(); /** * Returns a new object of class '<em>Rule</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Rule</em>'. * @generated */ Rule createRule(); /** * Returns a new object of class '<em>Rule</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param name The name of the rule. * @return a new object of class '<em>Rule</em>'. * @generated NOT */ Rule createRule(String name); /** * Returns a new object of class '<em>Attribute Condition</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Attribute Condition</em>'. * @generated */ AttributeCondition createAttributeCondition(); /** * Returns a new object of class '<em>Parameter</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Parameter</em>'. * @generated */ Parameter createParameter(); /** * Returns a new object of class '<em>Parameter</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param name Name of the parameter. * @return a new object of class '<em>Parameter</em>'. * @generated NOT */ Parameter createParameter(String name); /** * Returns a new object of class '<em>Graph</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Graph</em>'. * @generated */ Graph createGraph(); /** * Returns a new object of class '<em>Graph</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param name Name of the graph. * @return a new object of class '<em>Graph</em>'. * @generated NOT */ Graph createGraph(String name); /** * Returns a new object of class '<em>Mapping</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Mapping</em>'. * @generated */ Mapping createMapping(); /** * Returns a new object of class '<em>Mapping</em>'. * <!-- begin-user-doc --> * Sets the origin and the image of the created mapping. * <!-- end-user-doc --> * @param origin Origin of the mapping. * @param image Image of the mapping. * @return a new object of class '<em>Mapping</em>'. * @generated NOT */ Mapping createMapping(Node origin, Node image); /** * Returns a new object of class '<em>Node</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Node</em>'. * @generated */ Node createNode(); /** * Create a new node and add it to a given graph. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param graph The graph. * @param type The type of the node. * @param name The name of the node. * @return a new object of class '<em>Node</em>'. * @generated NOT */ Node createNode(Graph graph, EClass type, String name); /** * Returns a new object of class '<em>Attribute</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Attribute</em>'. * @generated */ Attribute createAttribute(); /** * Returns a new object of class '<em>Attribute</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param type Attribute type. * @param value Attribute value. * @return a new object of class '<em>Attribute</em>'. * @generated NOT */ Attribute createAttribute(Node node, EAttribute type, String value); /** * Returns a new object of class '<em>Edge</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Edge</em>'. * @generated */ Edge createEdge(); /** * Creates a new edge between two nodes. The edge is automatically * added to the graph of the source node if not <code>null</code>. * @param source Source node. * @param target Target node. * @param type Edge type. * @return The created edge. * @generated NOT */ Edge createEdge(Node source, Node target, EReference type); /** * Returns a new object of class '<em>Independent Unit</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Independent Unit</em>'. * @generated */ IndependentUnit createIndependentUnit(); /** * Returns a new object of class '<em>Sequential Unit</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Sequential Unit</em>'. * @generated */ SequentialUnit createSequentialUnit(); /** * Returns a new object of class '<em>Conditional Unit</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Conditional Unit</em>'. * @generated */ ConditionalUnit createConditionalUnit(); /** * Returns a new object of class '<em>Priority Unit</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Priority Unit</em>'. * @generated */ PriorityUnit createPriorityUnit(); /** * Returns a new object of class '<em>Iterated Unit</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Iterated Unit</em>'. * @generated */ IteratedUnit createIteratedUnit(); /** * Returns a new object of class '<em>Loop Unit</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Loop Unit</em>'. * @generated */ LoopUnit createLoopUnit(); /** * Returns a new object of class '<em>Nested Condition</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Nested Condition</em>'. * @generated */ NestedCondition createNestedCondition(); /** * Returns a new object of class '<em>And</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>And</em>'. * @generated */ And createAnd(); /** * Returns a new object of class '<em>Or</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Or</em>'. * @generated */ Or createOr(); /** * Returns a new object of class '<em>Not</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Not</em>'. * @generated */ Not createNot(); /** * Returns a new object of class '<em>Xor</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Xor</em>'. * @generated */ Xor createXor(); /** * Returns a new object of class '<em>Parameter Mapping</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return a new object of class '<em>Parameter Mapping</em>'. * @generated */ ParameterMapping createParameterMapping(); /** * Returns the package supported by this factory. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return the package supported by this factory. * @generated */ HenshinPackage getHenshinPackage(); } //HenshinFactory