package org.eclipse.emf.texo.test.model.samples.play;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Lob;
/**
* A representation for the Feature Group '<em><b>DocumentRoot.mixed</b></em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public class DocumentRootMixedFeatureGroup {
/**
* <!-- begin-user-doc --> <!-- end-user-doc --> Is used to identify which
* feature is set in this feature group.
*
* @generated
*/
public static enum Feature {
TEXT, CDATA, COMMENT, ACT, FM, GROUPDESCRIPTION, LINE, P, PERSONA, PERSONAE, PERSONAGROUP, PLAY, PLAYSUBTITLE, SCENE, SCENEDESCRIPTION, SPEAKER, SPEECH, STAGEDIRECTIONS, TITLE
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc --> Returns only the values
* from the feature group which have the feature equal to the parameter.
*
* @param featureGroup
* the featureGroup List to filter
* @param filterByFeature
* filters by this enum
* @return a list with instances corresponding to the feature kind
* @see Collections#unmodifiableList(List)
* @generated
*/
@SuppressWarnings("unchecked")
public static <T> List<T> createUnmodifiableValueList(
List<DocumentRootMixedFeatureGroup> featureGroup,
Feature filterByFeature) {
final List<Object> result = new ArrayList<Object>();
for (final DocumentRootMixedFeatureGroup group : featureGroup) {
if (group.getFeature() == filterByFeature) {
result.add(group.getValue());
}
}
return (List<T>) Collections.unmodifiableList(result);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc --> Returns a single value from
* the feature group which has the feature equal to the parameter. The first
* found value is returned. If no value can be found then null is returned.
*
* @param featureGroup
* the featureGroup List to filter
* @param filterByFeature
* filters by this enum
* @return an instance corresponding to the feature kind or null if not
* found.
* @generated
*/
@SuppressWarnings("unchecked")
public static <T> T getSingleFeatureMapValue(
List<DocumentRootMixedFeatureGroup> featureGroup,
Feature filterByFeature) {
for (final DocumentRootMixedFeatureGroup group : featureGroup) {
if (group.getFeature() == filterByFeature) {
return (T) group.getValue();
}
}
return null;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc --> Sets a single value in a
* feature group, if there is already a value set in the feature for the
* feature in question then it is replaced by the new value.
*
* @param featureGroup
* the featureGroup List to find the value
* @param feature
* sets this feature
* @param value
* the value to set
* @generated
*/
public static void setSingleFeatureMapValue(
List<DocumentRootMixedFeatureGroup> featureGroup, Feature feature,
Object value) {
for (final DocumentRootMixedFeatureGroup group : featureGroup) {
if (group.getFeature() == feature) {
group.setValue(feature, value);
return;
}
}
final DocumentRootMixedFeatureGroup entry = new DocumentRootMixedFeatureGroup();
entry.setValue(feature, value);
featureGroup.add(entry);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc --> Creates a list of group
* instances set with the passed feature and values.
*
* @param feature
* the feature to set
* @param values
* the values to set as value of each group instance in the
* result.
* @return a list with instances of this class, set with the Feature and
* values
* @generated
*/
public static List<DocumentRootMixedFeatureGroup> createFeatureGroupList(
Feature feature, List<?> values) {
final List<DocumentRootMixedFeatureGroup> result = new ArrayList<DocumentRootMixedFeatureGroup>();
for (Object value : values) {
final DocumentRootMixedFeatureGroup group = new DocumentRootMixedFeatureGroup();
group.setValue(feature, value);
result.add(group);
}
return result;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
@Basic
@Enumerated(EnumType.STRING)
private Feature feature = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
@Basic(optional = true)
@Lob
private String text;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
@Basic(optional = true)
@Lob
private String cDATA;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
@Basic(optional = true)
@Lob
private String comment;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private ActType act;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private FmType fm;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private String groupDescription;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private String line;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private String p;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private String persona;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private PersonaeType personae;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private PersonaGroupType personaGroup;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private PlayType play;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private String playSubTitle;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private SceneType scene;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private String sceneDescription;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private String speaker;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private SpeechType speech;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private String stageDirections;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private String title;
/**
* @generated
*/
public void setFeature(Feature feature) {
this.feature = feature;
}
/**
* @generated
*/
public Feature getFeature() {
return feature;
}
/**
* Returns the value of '<em><b>text</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>text</b></em>' feature
* @generated
*/
public String getText() {
return text;
}
/**
* Sets the '{@link LetterBodyType#getText() <em>text</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param the
* new value of the '{@link LetterBodyType#getText() text}'
* feature.
* @generated
*/
public void setText(String newText) {
text = newText;
setFeature(Feature.TEXT);
}
/**
* Returns the value of '<em><b>cDATA</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>cDATA</b></em>' feature
* @generated
*/
public String getCDATA() {
return cDATA;
}
/**
* Sets the '{@link LetterBodyType#getCDATA() <em>cDATA</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param the
* new value of the '{@link LetterBodyType#getCDATA() cDATA}'
* feature.
* @generated
*/
public void setCDATA(String newCDATA) {
cDATA = newCDATA;
setFeature(Feature.CDATA);
}
/**
* Returns the value of '<em><b>comment</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>comment</b></em>' feature
* @generated
*/
public String getComment() {
return comment;
}
/**
* Sets the '{@link LetterBodyType#getComment() <em>comment</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param the
* new value of the '{@link LetterBodyType#getComment() comment}'
* feature.
* @generated
*/
public void setComment(String newComment) {
comment = newComment;
setFeature(Feature.COMMENT);
}
/**
* Returns the value of '<em><b>act</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>act</b></em>' feature
* @generated
*/
public ActType getAct() {
return act;
}
/**
* Sets the '{@link DocumentRoot#getAct() <em>act</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param the
* new value of the '{@link DocumentRoot#getAct() act}' feature.
* @generated
*/
public void setAct(ActType newAct) {
act = newAct;
setFeature(Feature.ACT);
}
/**
* Returns the value of '<em><b>fm</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>fm</b></em>' feature
* @generated
*/
public FmType getFm() {
return fm;
}
/**
* Sets the '{@link DocumentRoot#getFm() <em>fm</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param the
* new value of the '{@link DocumentRoot#getFm() fm}' feature.
* @generated
*/
public void setFm(FmType newFm) {
fm = newFm;
setFeature(Feature.FM);
}
/**
* Returns the value of '<em><b>groupDescription</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>groupDescription</b></em>' feature
* @generated
*/
public String getGroupDescription() {
return groupDescription;
}
/**
* Sets the '{@link DocumentRoot#getGroupDescription()
* <em>groupDescription</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param the
* new value of the '{@link DocumentRoot#getGroupDescription()
* groupDescription}' feature.
* @generated
*/
public void setGroupDescription(String newGroupDescription) {
groupDescription = newGroupDescription;
setFeature(Feature.GROUPDESCRIPTION);
}
/**
* Returns the value of '<em><b>line</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>line</b></em>' feature
* @generated
*/
public String getLine() {
return line;
}
/**
* Sets the '{@link DocumentRoot#getLine() <em>line</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param the
* new value of the '{@link DocumentRoot#getLine() line}'
* feature.
* @generated
*/
public void setLine(String newLine) {
line = newLine;
setFeature(Feature.LINE);
}
/**
* Returns the value of '<em><b>p</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>p</b></em>' feature
* @generated
*/
public String getP() {
return p;
}
/**
* Sets the '{@link DocumentRoot#getP() <em>p</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param the
* new value of the '{@link DocumentRoot#getP() p}' feature.
* @generated
*/
public void setP(String newP) {
p = newP;
setFeature(Feature.P);
}
/**
* Returns the value of '<em><b>persona</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>persona</b></em>' feature
* @generated
*/
public String getPersona() {
return persona;
}
/**
* Sets the '{@link DocumentRoot#getPersona() <em>persona</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param the
* new value of the '{@link DocumentRoot#getPersona() persona}'
* feature.
* @generated
*/
public void setPersona(String newPersona) {
persona = newPersona;
setFeature(Feature.PERSONA);
}
/**
* Returns the value of '<em><b>personae</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>personae</b></em>' feature
* @generated
*/
public PersonaeType getPersonae() {
return personae;
}
/**
* Sets the '{@link DocumentRoot#getPersonae() <em>personae</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param the
* new value of the '{@link DocumentRoot#getPersonae() personae}'
* feature.
* @generated
*/
public void setPersonae(PersonaeType newPersonae) {
personae = newPersonae;
setFeature(Feature.PERSONAE);
}
/**
* Returns the value of '<em><b>personaGroup</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>personaGroup</b></em>' feature
* @generated
*/
public PersonaGroupType getPersonaGroup() {
return personaGroup;
}
/**
* Sets the '{@link DocumentRoot#getPersonaGroup() <em>personaGroup</em>}'
* feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param the
* new value of the '{@link DocumentRoot#getPersonaGroup()
* personaGroup}' feature.
* @generated
*/
public void setPersonaGroup(PersonaGroupType newPersonaGroup) {
personaGroup = newPersonaGroup;
setFeature(Feature.PERSONAGROUP);
}
/**
* Returns the value of '<em><b>play</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>play</b></em>' feature
* @generated
*/
public PlayType getPlay() {
return play;
}
/**
* Sets the '{@link DocumentRoot#getPlay() <em>play</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param the
* new value of the '{@link DocumentRoot#getPlay() play}'
* feature.
* @generated
*/
public void setPlay(PlayType newPlay) {
play = newPlay;
setFeature(Feature.PLAY);
}
/**
* Returns the value of '<em><b>playSubTitle</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>playSubTitle</b></em>' feature
* @generated
*/
public String getPlaySubTitle() {
return playSubTitle;
}
/**
* Sets the '{@link DocumentRoot#getPlaySubTitle() <em>playSubTitle</em>}'
* feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param the
* new value of the '{@link DocumentRoot#getPlaySubTitle()
* playSubTitle}' feature.
* @generated
*/
public void setPlaySubTitle(String newPlaySubTitle) {
playSubTitle = newPlaySubTitle;
setFeature(Feature.PLAYSUBTITLE);
}
/**
* Returns the value of '<em><b>scene</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>scene</b></em>' feature
* @generated
*/
public SceneType getScene() {
return scene;
}
/**
* Sets the '{@link DocumentRoot#getScene() <em>scene</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param the
* new value of the '{@link DocumentRoot#getScene() scene}'
* feature.
* @generated
*/
public void setScene(SceneType newScene) {
scene = newScene;
setFeature(Feature.SCENE);
}
/**
* Returns the value of '<em><b>sceneDescription</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>sceneDescription</b></em>' feature
* @generated
*/
public String getSceneDescription() {
return sceneDescription;
}
/**
* Sets the '{@link DocumentRoot#getSceneDescription()
* <em>sceneDescription</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param the
* new value of the '{@link DocumentRoot#getSceneDescription()
* sceneDescription}' feature.
* @generated
*/
public void setSceneDescription(String newSceneDescription) {
sceneDescription = newSceneDescription;
setFeature(Feature.SCENEDESCRIPTION);
}
/**
* Returns the value of '<em><b>speaker</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>speaker</b></em>' feature
* @generated
*/
public String getSpeaker() {
return speaker;
}
/**
* Sets the '{@link DocumentRoot#getSpeaker() <em>speaker</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param the
* new value of the '{@link DocumentRoot#getSpeaker() speaker}'
* feature.
* @generated
*/
public void setSpeaker(String newSpeaker) {
speaker = newSpeaker;
setFeature(Feature.SPEAKER);
}
/**
* Returns the value of '<em><b>speech</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>speech</b></em>' feature
* @generated
*/
public SpeechType getSpeech() {
return speech;
}
/**
* Sets the '{@link DocumentRoot#getSpeech() <em>speech</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param the
* new value of the '{@link DocumentRoot#getSpeech() speech}'
* feature.
* @generated
*/
public void setSpeech(SpeechType newSpeech) {
speech = newSpeech;
setFeature(Feature.SPEECH);
}
/**
* Returns the value of '<em><b>stageDirections</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>stageDirections</b></em>' feature
* @generated
*/
public String getStageDirections() {
return stageDirections;
}
/**
* Sets the '{@link DocumentRoot#getStageDirections()
* <em>stageDirections</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param the
* new value of the '{@link DocumentRoot#getStageDirections()
* stageDirections}' feature.
* @generated
*/
public void setStageDirections(String newStageDirections) {
stageDirections = newStageDirections;
setFeature(Feature.STAGEDIRECTIONS);
}
/**
* Returns the value of '<em><b>title</b></em>' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of '<em><b>title</b></em>' feature
* @generated
*/
public String getTitle() {
return title;
}
/**
* Sets the '{@link DocumentRoot#getTitle() <em>title</em>}' feature.
*
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param the
* new value of the '{@link DocumentRoot#getTitle() title}'
* feature.
* @generated
*/
public void setTitle(String newTitle) {
title = newTitle;
setFeature(Feature.TITLE);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the value of this feature map entry. The type of the returned
* value is based on the feature.
* @see #getFeature()
* @generated
*/
public Object getValue() {
switch (getFeature()) {
case TEXT:
return getText();
case CDATA:
return getCDATA();
case COMMENT:
return getComment();
case ACT:
return getAct();
case FM:
return getFm();
case GROUPDESCRIPTION:
return getGroupDescription();
case LINE:
return getLine();
case P:
return getP();
case PERSONA:
return getPersona();
case PERSONAE:
return getPersonae();
case PERSONAGROUP:
return getPersonaGroup();
case PLAY:
return getPlay();
case PLAYSUBTITLE:
return getPlaySubTitle();
case SCENE:
return getScene();
case SCENEDESCRIPTION:
return getSceneDescription();
case SPEAKER:
return getSpeaker();
case SPEECH:
return getSpeech();
case STAGEDIRECTIONS:
return getStageDirections();
case TITLE:
return getTitle();
default:
throw new IllegalStateException("Feature kind " + getFeature()
+ " is not supported for this object " + this);
}
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param feature
* the feature to set
* @param the
* value to set in this instance
* @see #getFeature()
* @generated
*/
public void setValue(Feature feature, Object value) {
switch (feature) {
case TEXT:
setText((String) value);
break;
case CDATA:
setCDATA((String) value);
break;
case COMMENT:
setComment((String) value);
break;
case ACT:
setAct((ActType) value);
break;
case FM:
setFm((FmType) value);
break;
case GROUPDESCRIPTION:
setGroupDescription((String) value);
break;
case LINE:
setLine((String) value);
break;
case P:
setP((String) value);
break;
case PERSONA:
setPersona((String) value);
break;
case PERSONAE:
setPersonae((PersonaeType) value);
break;
case PERSONAGROUP:
setPersonaGroup((PersonaGroupType) value);
break;
case PLAY:
setPlay((PlayType) value);
break;
case PLAYSUBTITLE:
setPlaySubTitle((String) value);
break;
case SCENE:
setScene((SceneType) value);
break;
case SCENEDESCRIPTION:
setSceneDescription((String) value);
break;
case SPEAKER:
setSpeaker((String) value);
break;
case SPEECH:
setSpeech((SpeechType) value);
break;
case STAGEDIRECTIONS:
setStageDirections((String) value);
break;
case TITLE:
setTitle((String) value);
break;
default:
throw new IllegalStateException("Feature kind " + getFeature()
+ " is not supported for this object " + this);
}
}
}