// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/types/simple/DateType.java
// public class DateType {
// 	private DatatypeDefinitionDate def;
// 
// 	DateType() throws DatatypeConfigurationException {
// 		def = ReqIF10Factory.eINSTANCE.createDatatypeDefinitionDate();
// 		def.setIdentifier(IdentifierManager.generateIdentifier());
// 		def.setLongName("T_Date");
// 		def.setLastChange(DateManager.getCurrentDate());
// 	}
// 
// 	public DatatypeDefinitionDate getDef() {
// 		return this.def;
// 	}
// }
// 
// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/types/simple/RequirementRanking.java
// public final class RequirementRanking {
// 	private ReqIFEnumerationDatatype def;
// 
// 	public RequirementRanking() {
// 		def = new ReqIFEnumerationDatatype();
// 		def.setName("T_ReqRanking");
// 
// 		for (Enumerator ranking : RankingDTO.VALUES) {
// 			def.addEnumValue(ranking);
// 		}
// 	}
// 
// 	public DatatypeDefinitionEnumeration getDef() {
// 		return def.getDef();
// 	}
// 
// }
// 
// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/types/simple/RequirementStatus.java
// public class RequirementStatus {
// 	private DatatypeDefinitionEnumeration def;
// 
// 	public RequirementStatus() {
// 		def = ReqIF10Factory.eINSTANCE.createDatatypeDefinitionEnumeration();
// 		def.setIdentifier(IdentifierManager.generateIdentifier());
// 		def.setLongName("T_ReqStatus");
// 
// 		for (Enumerator status : StatusDTO.VALUES) {
// 			EnumValue enumValue = ReqIF10Factory.eINSTANCE.createEnumValue();
// 			enumValue.setIdentifier(IdentifierManager.generateIdentifier());
// 			enumValue.setLongName(status.getLiteral());
// 
// 			EmbeddedValue embeddedValue = ReqIF10Factory.eINSTANCE
// 					.createEmbeddedValue();
// 			embeddedValue.setKey(BigInteger.valueOf(status.getValue()));
// 			embeddedValue.setOtherContent("");
// 
// 			enumValue.setProperties(embeddedValue);
// 
// 			def.getSpecifiedValues().add(enumValue);
// 		}
// 	}
// 
// 	public DatatypeDefinitionEnumeration getDef() {
// 		return def;
// 	}
// 
// }
// 
// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/types/simple/String32k.java
// public class String32k {
// 	private DatatypeDefinitionString def;
// 
// 	String32k() {
// 		def = ReqIF10Factory.eINSTANCE.createDatatypeDefinitionString();
// 		def.setIdentifier(IdentifierManager.generateIdentifier());
// 		def.setLongName("T_String");
// 		def.setMaxLength(new BigInteger("32000"));
// 	}
// 
// 	public DatatypeDefinitionString getDef() {
// 		return this.def;
// 	}
// }
// 
// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/types/simple/XhtmlType.java
// public class XhtmlType {
// 	private DatatypeDefinitionXHTML def;
// 	
// 	public XhtmlType() {
// 		this.def = ReqIF10Factory.eINSTANCE.createDatatypeDefinitionXHTML();
// 		this.def.setIdentifier(IdentifierManager.generateIdentifier());
// 		this.def.setLongName("T_Xhtml");
// 	}
// 
// 	public DatatypeDefinitionXHTML getDef() {
// 		return def;
// 	}
// }


import javax.xml.datatype.DatatypeConfigurationException;
import org.eclipse.rmf.reqif10.SpecObjectType;
import de.kay_muench.reqif10.reqifcompiler.types.simple.DateType;
import de.kay_muench.reqif10.reqifcompiler.types.simple.RequirementRanking;
import de.kay_muench.reqif10.reqifcompiler.types.simple.RequirementStatus;
import de.kay_muench.reqif10.reqifcompiler.types.simple.String32k;
import de.kay_muench.reqif10.reqifcompiler.types.simple.XhtmlType;
/**
 * 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.types.complex;




public class BaselineSpecObjectType {
	private CommonSpecObjectTypeDefinitions commondefs;

	BaselineSpecObjectType(String32k typeId, XhtmlType reqifXhtml,
			DateType typeDate, RequirementStatus typeStatus,
			RequirementRanking typeRanking)
			throws DatatypeConfigurationException {
		this.commondefs = new CommonSpecObjectTypeDefinitions(typeId, reqifXhtml, typeDate,
				typeStatus, typeRanking);
		this.commondefs.setName(this.getClass().getSimpleName());
	}

// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/types/simple/DateType.java
// public class DateType {
// 	private DatatypeDefinitionDate def;
// 
// 	DateType() throws DatatypeConfigurationException {
// 		def = ReqIF10Factory.eINSTANCE.createDatatypeDefinitionDate();
// 		def.setIdentifier(IdentifierManager.generateIdentifier());
// 		def.setLongName("T_Date");
// 		def.setLastChange(DateManager.getCurrentDate());
// 	}
// 
// 	public DatatypeDefinitionDate getDef() {
// 		return this.def;
// 	}
// }
// 
// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/types/simple/RequirementRanking.java
// public final class RequirementRanking {
// 	private ReqIFEnumerationDatatype def;
// 
// 	public RequirementRanking() {
// 		def = new ReqIFEnumerationDatatype();
// 		def.setName("T_ReqRanking");
// 
// 		for (Enumerator ranking : RankingDTO.VALUES) {
// 			def.addEnumValue(ranking);
// 		}
// 	}
// 
// 	public DatatypeDefinitionEnumeration getDef() {
// 		return def.getDef();
// 	}
// 
// }
// 
// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/types/simple/RequirementStatus.java
// public class RequirementStatus {
// 	private DatatypeDefinitionEnumeration def;
// 
// 	public RequirementStatus() {
// 		def = ReqIF10Factory.eINSTANCE.createDatatypeDefinitionEnumeration();
// 		def.setIdentifier(IdentifierManager.generateIdentifier());
// 		def.setLongName("T_ReqStatus");
// 
// 		for (Enumerator status : StatusDTO.VALUES) {
// 			EnumValue enumValue = ReqIF10Factory.eINSTANCE.createEnumValue();
// 			enumValue.setIdentifier(IdentifierManager.generateIdentifier());
// 			enumValue.setLongName(status.getLiteral());
// 
// 			EmbeddedValue embeddedValue = ReqIF10Factory.eINSTANCE
// 					.createEmbeddedValue();
// 			embeddedValue.setKey(BigInteger.valueOf(status.getValue()));
// 			embeddedValue.setOtherContent("");
// 
// 			enumValue.setProperties(embeddedValue);
// 
// 			def.getSpecifiedValues().add(enumValue);
// 		}
// 	}
// 
// 	public DatatypeDefinitionEnumeration getDef() {
// 		return def;
// 	}
// 
// }
// 
// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/types/simple/String32k.java
// public class String32k {
// 	private DatatypeDefinitionString def;
// 
// 	String32k() {
// 		def = ReqIF10Factory.eINSTANCE.createDatatypeDefinitionString();
// 		def.setIdentifier(IdentifierManager.generateIdentifier());
// 		def.setLongName("T_String");
// 		def.setMaxLength(new BigInteger("32000"));
// 	}
// 
// 	public DatatypeDefinitionString getDef() {
// 		return this.def;
// 	}
// }
// 
// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/types/simple/XhtmlType.java
// public class XhtmlType {
// 	private DatatypeDefinitionXHTML def;
// 	
// 	public XhtmlType() {
// 		this.def = ReqIF10Factory.eINSTANCE.createDatatypeDefinitionXHTML();
// 		this.def.setIdentifier(IdentifierManager.generateIdentifier());
// 		this.def.setLongName("T_Xhtml");
// 	}
// 
// 	public DatatypeDefinitionXHTML getDef() {
// 		return def;
// 	}
// }


// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/types/complex/BaselineSpecObjectType.java
import javax.xml.datatype.DatatypeConfigurationException;
import org.eclipse.rmf.reqif10.SpecObjectType;
import de.kay_muench.reqif10.reqifcompiler.types.simple.DateType;
import de.kay_muench.reqif10.reqifcompiler.types.simple.RequirementRanking;
import de.kay_muench.reqif10.reqifcompiler.types.simple.RequirementStatus;
import de.kay_muench.reqif10.reqifcompiler.types.simple.String32k;
import de.kay_muench.reqif10.reqifcompiler.types.simple.XhtmlType;

/**
 * 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.types.complex;




public class BaselineSpecObjectType {
	private CommonSpecObjectTypeDefinitions commondefs;

	BaselineSpecObjectType(String32k typeId, XhtmlType reqifXhtml,
			DateType typeDate, RequirementStatus typeStatus,
			RequirementRanking typeRanking)
			throws DatatypeConfigurationException {
		this.commondefs = new CommonSpecObjectTypeDefinitions(typeId, reqifXhtml, typeDate,
				typeStatus, typeRanking);
		this.commondefs.setName(this.getClass().getSimpleName());
	}

	public IdentifierAttribute getId() {