// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/dto/StatusDTO.java
// public final class StatusDTO extends EnumeratorDTO {
// 
// 	public static Integer DEFAULT = 0;
// 	public static List<? extends Enumerator> VALUES;
// 
// 	public static StatusDTO newInstance() {
// 		return new StatusDTO();
// 	}
// 
// }
// 
// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/types/complex/EnumeratedAttributeValue.java
// public class EnumeratedAttributeValue {
// 	private AttributeValueEnumeration value;
// 
// 	public EnumeratedAttributeValue(AttributeDefinitionEnumeration def) {
// 		value = ReqIF10Factory.eINSTANCE.createAttributeValueEnumeration();
// 		value.setDefinition(def);
// 	}
// 
// 	public AttributeValueEnumeration getValue() {
// 		return value;
// 	}
// 
// 	public void setValue(int v) {
// 		List<EnumValue> newValues = new ArrayList<EnumValue>();
// 		final EList<EnumValue> enumValues = value.getDefinition().getType()
// 				.getSpecifiedValues();
// 		for (EnumValue enumValue : enumValues) {
// 			if (enumValue.getProperties().getKey()
// 					.equals(BigInteger.valueOf(v))) {
// 				newValues.add(enumValue);
// 				break;
// 			}
// 		}
// 
// 		value.getValues().clear();
// 		value.getValues().addAll(newValues);
// 	}
// 
// }
// 
// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/types/complex/RequirementStatusAttribute.java
// public final class RequirementStatusAttribute {
// 	private static final String STATUS = "Status";
// 	private AttributeDefinitionEnumeration def;
// 
// 	public RequirementStatusAttribute(RequirementStatus type) {
// 
// 		def = ReqIF10Factory.eINSTANCE.createAttributeDefinitionEnumeration();
// 		def.setIdentifier(IdentifierManager.generateIdentifier());
// 		def.setLongName(STATUS);
// 		def.setType(type.getDef());
// 		def.setMultiValued(false);
// 
// 		EnumeratedAttributeValue statusValue = new EnumeratedAttributeValue(def);
// 		statusValue.setValue(StatusDTO.DEFAULT);
// 		def.setDefaultValue(statusValue.getValue());
// 	}
// 
// 	public AttributeDefinitionEnumeration getDef() {
// 		return def;
// 	}
// 
// }


import org.eclipse.rmf.reqif10.AttributeValueEnumeration;
import org.eclipse.rmf.reqif10.SpecObject;
import de.kay_muench.reqif10.reqifcompiler.dto.StatusDTO;
import de.kay_muench.reqif10.reqifcompiler.types.complex.EnumeratedAttributeValue;
import de.kay_muench.reqif10.reqifcompiler.types.complex.RequirementStatusAttribute;
/**
 * Copyright (c) 2014 Kay Erik Münch.
 * 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.spdx.org/licenses/EPL-1.0
 * 
 * Contributors:
 *     Kay Erik Münch - initial API and implementation
 * 
 */
package de.kay_muench.reqif10.reqifcompiler;



public class RequirementStatusValue {
	private EnumeratedAttributeValue value;

	public RequirementStatusValue(
			final RequirementStatusAttribute type,
			final SpecObject specObject) {
		this(type);
		specObject.getValues().add(value.getValue());
	}

	public RequirementStatusValue(
			final RequirementStatusAttribute type) {
		value = new EnumeratedAttributeValue(type.getDef());
	}

// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/dto/StatusDTO.java
// public final class StatusDTO extends EnumeratorDTO {
// 
// 	public static Integer DEFAULT = 0;
// 	public static List<? extends Enumerator> VALUES;
// 
// 	public static StatusDTO newInstance() {
// 		return new StatusDTO();
// 	}
// 
// }
// 
// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/types/complex/EnumeratedAttributeValue.java
// public class EnumeratedAttributeValue {
// 	private AttributeValueEnumeration value;
// 
// 	public EnumeratedAttributeValue(AttributeDefinitionEnumeration def) {
// 		value = ReqIF10Factory.eINSTANCE.createAttributeValueEnumeration();
// 		value.setDefinition(def);
// 	}
// 
// 	public AttributeValueEnumeration getValue() {
// 		return value;
// 	}
// 
// 	public void setValue(int v) {
// 		List<EnumValue> newValues = new ArrayList<EnumValue>();
// 		final EList<EnumValue> enumValues = value.getDefinition().getType()
// 				.getSpecifiedValues();
// 		for (EnumValue enumValue : enumValues) {
// 			if (enumValue.getProperties().getKey()
// 					.equals(BigInteger.valueOf(v))) {
// 				newValues.add(enumValue);
// 				break;
// 			}
// 		}
// 
// 		value.getValues().clear();
// 		value.getValues().addAll(newValues);
// 	}
// 
// }
// 
// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/types/complex/RequirementStatusAttribute.java
// public final class RequirementStatusAttribute {
// 	private static final String STATUS = "Status";
// 	private AttributeDefinitionEnumeration def;
// 
// 	public RequirementStatusAttribute(RequirementStatus type) {
// 
// 		def = ReqIF10Factory.eINSTANCE.createAttributeDefinitionEnumeration();
// 		def.setIdentifier(IdentifierManager.generateIdentifier());
// 		def.setLongName(STATUS);
// 		def.setType(type.getDef());
// 		def.setMultiValued(false);
// 
// 		EnumeratedAttributeValue statusValue = new EnumeratedAttributeValue(def);
// 		statusValue.setValue(StatusDTO.DEFAULT);
// 		def.setDefaultValue(statusValue.getValue());
// 	}
// 
// 	public AttributeDefinitionEnumeration getDef() {
// 		return def;
// 	}
// 
// }


// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/RequirementStatusValue.java
import org.eclipse.rmf.reqif10.AttributeValueEnumeration;
import org.eclipse.rmf.reqif10.SpecObject;
import de.kay_muench.reqif10.reqifcompiler.dto.StatusDTO;
import de.kay_muench.reqif10.reqifcompiler.types.complex.EnumeratedAttributeValue;
import de.kay_muench.reqif10.reqifcompiler.types.complex.RequirementStatusAttribute;

/**
 * Copyright (c) 2014 Kay Erik Münch.
 * 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.spdx.org/licenses/EPL-1.0
 * 
 * Contributors:
 *     Kay Erik Münch - initial API and implementation
 * 
 */
package de.kay_muench.reqif10.reqifcompiler;



public class RequirementStatusValue {
	private EnumeratedAttributeValue value;

	public RequirementStatusValue(
			final RequirementStatusAttribute type,
			final SpecObject specObject) {
		this(type);
		specObject.getValues().add(value.getValue());
	}

	public RequirementStatusValue(
			final RequirementStatusAttribute type) {
		value = new EnumeratedAttributeValue(type.getDef());
	}

	void setStatus(StatusDTO status) {