blob: b711d2248b06d374534e235add8447dde6b676a9 [file] [log] [blame]
/**
* Copyright (c) 2012 Obeo.
* 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:
* Obeo - initial API and implementation
*/
package org.eclipse.emf.compare;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Reference Change</b></em>'.
* <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
* This particular kind of difference will be used to describe changes within a reference, whether the feature is multi-valued or not. In the case of a MOVE difference, this could actually mean two things : either the value has been moved from one index to another (moving the value at another position of the same reference), or the value has been moved from one container to another. This second case will only happen with containment references.
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link org.eclipse.emf.compare.ReferenceChange#getReference <em>Reference</em>}</li>
* <li>{@link org.eclipse.emf.compare.ReferenceChange#getValue <em>Value</em>}</li>
* </ul>
* </p>
*
* @see org.eclipse.emf.compare.ComparePackage#getReferenceChange()
* @model
* @generated
*/
public interface ReferenceChange extends Diff {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
String copyright = "Copyright (c) 2012 Obeo.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Obeo - initial API and implementation"; //$NON-NLS-1$
/**
* Returns the value of the '<em><b>Reference</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The reference in which "something" changed. If this difference is a MOVE from one reference to another, this will point towards the left reference.
* <!-- end-model-doc -->
* @return the value of the '<em>Reference</em>' reference.
* @see #setReference(EReference)
* @see org.eclipse.emf.compare.ComparePackage#getReferenceChange_Reference()
* @model required="true"
* @generated
*/
EReference getReference();
/**
* Sets the value of the '{@link org.eclipse.emf.compare.ReferenceChange#getReference <em>Reference</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Reference</em>' reference.
* @see #getReference()
* @generated
*/
void setReference(EReference value);
/**
* Returns the value of the '<em><b>Value</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* References the actual value on which a difference has been detected.
* <!-- end-model-doc -->
* @return the value of the '<em>Value</em>' reference.
* @see #setValue(EObject)
* @see org.eclipse.emf.compare.ComparePackage#getReferenceChange_Value()
* @model
* @generated
*/
EObject getValue();
/**
* Sets the value of the '{@link org.eclipse.emf.compare.ReferenceChange#getValue <em>Value</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Value</em>' reference.
* @see #getValue()
* @generated
*/
void setValue(EObject value);
} // ReferenceChange