// Path: src/main/java/org/ihtsdo/otf/snomedboot/domain/Concept.java
// public interface Concept {
// 	Long getId();
// 
// 	Set<Long> getMemberOfRefsetIds();
// 
// 	Set<Long> getInferredAncestorIds() throws IllegalStateException;
// 
// 	Set<Long> getStatedAncestorIds() throws IllegalStateException;
// 
// 	boolean isActive();
// 
// 	String getEffectiveTime();
// 
// 	String getModuleId();
// 
// 	String getDefinitionStatusId();
// 
// 	String getFsn();
// 
// 	Map<String, Set<String>> getInferredAttributes();
// 
// 	Map<String, Set<String>> getInferredConcreteAttributes();
// 
// 	Map<String, Set<String>> getStatedAttributes();
// 
// 	List<Relationship> getRelationships();
// 
// 	List<ConcreteRelationship> getConcreteRelationships();
// 
// 	List<Description> getDescriptions();
// 
// 	Set<Long> getInferredDescendantIds() throws IllegalStateException;
// 
// 	Set<Long> getStatedDescendantIds() throws IllegalStateException;
// }
// 
// Path: src/main/java/org/ihtsdo/otf/snomedboot/domain/ConcreteRelationship.java
// public interface ConcreteRelationship {
// 	String getId();
// 
// 	String getEffectiveTime();
// 
// 	String getActive();
// 
// 	String getModuleId();
// 
// 	String getSourceId();
// 
// 	String getValue();
// 
// 	String getRelationshipGroup();
// 
// 	String getTypeId();
// 
// 	String getCharacteristicTypeId();
// 
// 	String getModifierId();
// }
// 
// Path: src/main/java/org/ihtsdo/otf/snomedboot/domain/Description.java
// public interface Description {
// 	Long getId();
// 
// 	boolean isActive();
// 
// 	String getTerm();
// 
// 	Long getConceptId();
// }
// 
// Path: src/main/java/org/ihtsdo/otf/snomedboot/domain/Relationship.java
// public interface Relationship {
// 	String getId();
// 
// 	String getEffectiveTime();
// 
// 	String getActive();
// 
// 	String getModuleId();
// 
// 	String getSourceId();
// 
// 	String getDestinationId();
// 
// 	String getRelationshipGroup();
// 
// 	String getTypeId();
// 
// 	String getCharacteristicTypeId();
// 
// 	String getModifierId();
// }


import org.ihtsdo.otf.snomedboot.domain.Concept;
import org.ihtsdo.otf.snomedboot.domain.ConcreteRelationship;
import org.ihtsdo.otf.snomedboot.domain.Description;
import org.ihtsdo.otf.snomedboot.domain.Relationship;
import java.util.*;
package org.ihtsdo.otf.snomedboot.factory.implementation.standard;



public class ConceptImpl implements Concept {

	private final Long id;
	private String effectiveTime;
	private boolean active;
	private String moduleId;
	private String definitionStatusId;
	private String fsn;
	private final Map<String, Set<String>> inferredAttributes;
	private final Map<String, Set<String>> inferredConcreteAttributes;
	private final Map<String, Set<String>> statedAttributes;
	private final Set<Concept> inferredParents;
	private final Set<Concept> statedParents;
	private final Set<Concept> inferredChildren;
	private final Set<Concept> statedChildren;
	private final Set<Long> memberOfRefsetIds;
	private final List<Relationship> relationships;
	private final List<ConcreteRelationship> concreteRelationships;
// Path: src/main/java/org/ihtsdo/otf/snomedboot/domain/Concept.java
// public interface Concept {
// 	Long getId();
// 
// 	Set<Long> getMemberOfRefsetIds();
// 
// 	Set<Long> getInferredAncestorIds() throws IllegalStateException;
// 
// 	Set<Long> getStatedAncestorIds() throws IllegalStateException;
// 
// 	boolean isActive();
// 
// 	String getEffectiveTime();
// 
// 	String getModuleId();
// 
// 	String getDefinitionStatusId();
// 
// 	String getFsn();
// 
// 	Map<String, Set<String>> getInferredAttributes();
// 
// 	Map<String, Set<String>> getInferredConcreteAttributes();
// 
// 	Map<String, Set<String>> getStatedAttributes();
// 
// 	List<Relationship> getRelationships();
// 
// 	List<ConcreteRelationship> getConcreteRelationships();
// 
// 	List<Description> getDescriptions();
// 
// 	Set<Long> getInferredDescendantIds() throws IllegalStateException;
// 
// 	Set<Long> getStatedDescendantIds() throws IllegalStateException;
// }
// 
// Path: src/main/java/org/ihtsdo/otf/snomedboot/domain/ConcreteRelationship.java
// public interface ConcreteRelationship {
// 	String getId();
// 
// 	String getEffectiveTime();
// 
// 	String getActive();
// 
// 	String getModuleId();
// 
// 	String getSourceId();
// 
// 	String getValue();
// 
// 	String getRelationshipGroup();
// 
// 	String getTypeId();
// 
// 	String getCharacteristicTypeId();
// 
// 	String getModifierId();
// }
// 
// Path: src/main/java/org/ihtsdo/otf/snomedboot/domain/Description.java
// public interface Description {
// 	Long getId();
// 
// 	boolean isActive();
// 
// 	String getTerm();
// 
// 	Long getConceptId();
// }
// 
// Path: src/main/java/org/ihtsdo/otf/snomedboot/domain/Relationship.java
// public interface Relationship {
// 	String getId();
// 
// 	String getEffectiveTime();
// 
// 	String getActive();
// 
// 	String getModuleId();
// 
// 	String getSourceId();
// 
// 	String getDestinationId();
// 
// 	String getRelationshipGroup();
// 
// 	String getTypeId();
// 
// 	String getCharacteristicTypeId();
// 
// 	String getModifierId();
// }


// Path: src/main/java/org/ihtsdo/otf/snomedboot/factory/implementation/standard/ConceptImpl.java
import org.ihtsdo.otf.snomedboot.domain.Concept;
import org.ihtsdo.otf.snomedboot.domain.ConcreteRelationship;
import org.ihtsdo.otf.snomedboot.domain.Description;
import org.ihtsdo.otf.snomedboot.domain.Relationship;
import java.util.*;

package org.ihtsdo.otf.snomedboot.factory.implementation.standard;



public class ConceptImpl implements Concept {

	private final Long id;
	private String effectiveTime;
	private boolean active;
	private String moduleId;
	private String definitionStatusId;
	private String fsn;
	private final Map<String, Set<String>> inferredAttributes;
	private final Map<String, Set<String>> inferredConcreteAttributes;
	private final Map<String, Set<String>> statedAttributes;
	private final Set<Concept> inferredParents;
	private final Set<Concept> statedParents;
	private final Set<Concept> inferredChildren;
	private final Set<Concept> statedChildren;
	private final Set<Long> memberOfRefsetIds;
	private final List<Relationship> relationships;
	private final List<ConcreteRelationship> concreteRelationships;
	private final List<Description> descriptions;