package org.eclipse.modisco.kdm.event;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.OrderColumn;
import org.eclipse.emf.texo.test.TexoTestObjectConverter;
import org.eclipse.emf.texo.test.TexoTestQNameConverter;
import org.eclipse.modisco.kdm.action.ActionElement;
import org.eclipse.modisco.kdm.code.AbstractCodeElement;
import org.eclipse.modisco.kdm.core.KDMEntity;
import org.eclipse.modisco.kdm.source.SourceRef;
import org.eclipse.persistence.annotations.Converter;
import org.eclipse.persistence.annotations.Converters;
/**
* A representation of the model object '<em><b>AbstractEventElement</b></em>'. <!-- begin-user-doc --> <!--
* end-user-doc -->
*
* @generated
*/
@Entity(name = "event_AbstractEventElement")
@Converters({ @Converter(converterClass = TexoTestObjectConverter.class, name = "TexoTestObjectConverter"),
@Converter(converterClass = TexoTestQNameConverter.class, name = "TexoTestQNameConverter") })
public abstract class AbstractEventElement extends KDMEntity {
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
@OneToMany(cascade = { CascadeType.ALL })
private Set<SourceRef> source = new HashSet<SourceRef>();
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
@OneToMany(cascade = { CascadeType.ALL })
private Set<AbstractEventRelationship> eventRelation = new HashSet<AbstractEventRelationship>();
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
@OneToMany(cascade = { CascadeType.ALL })
@OrderColumn()
private List<ActionElement> abstraction = new ArrayList<ActionElement>();
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
@ManyToMany(cascade = { CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH })
private Set<AbstractCodeElement> implementation = new HashSet<AbstractCodeElement>();
/**
* Returns the value of '<em><b>source</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>source</b></em>' feature
* @generated
*/
public Set<SourceRef> getSource() {
return source;
}
/**
* Sets the '{@link AbstractEventElement#getSource() <em>source</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param newSource
* the new value of the '{@link AbstractEventElement#getSource() source}' feature.
* @generated
*/
public void setSource(Set<SourceRef> newSource) {
source = newSource;
}
/**
* Returns the value of '<em><b>eventRelation</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>eventRelation</b></em>' feature
* @generated
*/
public Set<AbstractEventRelationship> getEventRelation() {
return eventRelation;
}
/**
* Sets the '{@link AbstractEventElement#getEventRelation() <em>eventRelation</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param newEventRelation
* the new value of the '{@link AbstractEventElement#getEventRelation() eventRelation}' feature.
* @generated
*/
public void setEventRelation(Set<AbstractEventRelationship> newEventRelation) {
eventRelation = newEventRelation;
}
/**
* Returns the value of '<em><b>abstraction</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>abstraction</b></em>' feature
* @generated
*/
public List<ActionElement> getAbstraction() {
return abstraction;
}
/**
* Sets the '{@link AbstractEventElement#getAbstraction() <em>abstraction</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param newAbstraction
* the new value of the '{@link AbstractEventElement#getAbstraction() abstraction}' feature.
* @generated
*/
public void setAbstraction(List<ActionElement> newAbstraction) {
abstraction = newAbstraction;
}
/**
* Returns the value of '<em><b>implementation</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>implementation</b></em>' feature
* @generated
*/
public Set<AbstractCodeElement> getImplementation() {
return implementation;
}
/**
* Sets the '{@link AbstractEventElement#getImplementation() <em>implementation</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param newImplementation
* the new value of the '{@link AbstractEventElement#getImplementation() implementation}' feature.
* @generated
*/
public void setImplementation(Set<AbstractCodeElement> newImplementation) {
implementation = newImplementation;
}
/**
* A toString method which prints the values of all EAttributes of this instance. <!-- begin-user-doc --> <!--
* end-user-doc -->
*
* @generated
*/
@Override
public String toString() {
return "AbstractEventElement " + "{extends: " + super.toString() + "} ";
}
}