/**
 * 
 * Copyright (c) 2009-2010 Thales Corporate Services S.A.S.
 * 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:
 * Thales Corporate Services S.A.S - initial API and implementation
 * 
 */
package org.eclipse.egf.model.jetpattern;

import org.eclipse.egf.model.pattern.PatternNature;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Jet Nature</b></em>'.
 * <!-- end-user-doc -->
 *
 *
 * @see org.eclipse.egf.model.jetpattern.JetPatternPackage#getJetNature()
 * @model
 * @generated
 */
public interface JetNature extends PatternNature {
} // JetNature
