// Path: src/main/java/de/uni_stuttgart/vis/vowl/owl2vowl/constants/VowlAttribute.java
// public enum VowlAttribute {
// 	INTERSECTION("intersection"),
// 	OBJECT("object"),
// 	DEPRECATED("deprecated"),
// 	EXTERNAL("external"),
// 	RDF("rdf"),
// 	UNION("union"),
// 	COMPLEMENT("complement"),
// 	DATATYPE("datatype"),
// 	TRANSITIVE("transitive"),
// 	FUNCTIONAL("functional"),
// 	INVERSE_FUNCTIONAL("inverse functional"),
// 	SYMMETRIC("symmetric"),
// 	EQUIVALENT("equivalent"),
// 	IRREFLEXIVE("irreflexive"),
// 	ASYMMETRIC("asymmetric"),
// 	REFLEXIVE("reflexive"),
// 	IMPORTED("external"),
// 	ANONYMOUS("anonymous"),
// 	DISJOINTUNION("disjointUnion"),
// 	KEY("key"),
// 	ALL_VALUES("allValues"),
// 	SOME_VALUES("someValues");
// 
// 	private final String value;
// 
// 	VowlAttribute(String value) {
// 
// 		this.value = value;
// 	}
// 
// 	@JsonValue
// 	public String getValue() {
// 		return value;
// 	}
// }
// 
// Path: src/main/java/de/uni_stuttgart/vis/vowl/owl2vowl/model/AbstractVowlObject.java
// public abstract class AbstractVowlObject implements HasIri, HasAnnotations, VowlVisitable {
// 	protected IRI iri;
// 	protected IRI baseIri;
// 	private Annotations annotations = new Annotations();
// 
// 	public AbstractVowlObject(IRI iri) {
// 		this.iri = iri;
// 
// 		if (iri != null) {
// 			baseIri = IRI.create(ComparisonHelper.extractBaseIRI(iri.toString()));
// 		}
// 	}
// 
// 	public IRI getBaseIri() {
// 		return baseIri;
// 	}
// 
// 	@Override
// 	public Annotations getAnnotations() {
// 		return annotations;
// 	}
// 
// 	@Override
// 	public IRI getIri() {
// 		return iri;
// 	}
// }
// 
// Path: src/main/java/de/uni_stuttgart/vis/vowl/owl2vowl/model/SetWithoutNull.java
// @SuppressWarnings("serial")
// public class SetWithoutNull<E> extends HashSet<E> {
// 	@Override
// 	public boolean add(E e) {
// 		return e != null && super.add(e);
// 
// 	}
// }
// 
// Path: src/main/java/de/uni_stuttgart/vis/vowl/owl2vowl/model/data/VowlGenerationEnum.java
// public enum VowlGenerationEnum {
// 	MANUALLY,
// 	AUTOMATIC
// }


import de.uni_stuttgart.vis.vowl.owl2vowl.constants.VowlAttribute;
import de.uni_stuttgart.vis.vowl.owl2vowl.model.AbstractVowlObject;
import de.uni_stuttgart.vis.vowl.owl2vowl.model.SetWithoutNull;
import de.uni_stuttgart.vis.vowl.owl2vowl.model.data.VowlGenerationEnum;
import org.semanticweb.owlapi.model.IRI;
import java.util.*;
package de.uni_stuttgart.vis.vowl.owl2vowl.model.entities;



public abstract class AbstractEntity extends AbstractVowlObject implements HasEquivalents, HasSubEntities {
	private String type;
// Path: src/main/java/de/uni_stuttgart/vis/vowl/owl2vowl/constants/VowlAttribute.java
// public enum VowlAttribute {
// 	INTERSECTION("intersection"),
// 	OBJECT("object"),
// 	DEPRECATED("deprecated"),
// 	EXTERNAL("external"),
// 	RDF("rdf"),
// 	UNION("union"),
// 	COMPLEMENT("complement"),
// 	DATATYPE("datatype"),
// 	TRANSITIVE("transitive"),
// 	FUNCTIONAL("functional"),
// 	INVERSE_FUNCTIONAL("inverse functional"),
// 	SYMMETRIC("symmetric"),
// 	EQUIVALENT("equivalent"),
// 	IRREFLEXIVE("irreflexive"),
// 	ASYMMETRIC("asymmetric"),
// 	REFLEXIVE("reflexive"),
// 	IMPORTED("external"),
// 	ANONYMOUS("anonymous"),
// 	DISJOINTUNION("disjointUnion"),
// 	KEY("key"),
// 	ALL_VALUES("allValues"),
// 	SOME_VALUES("someValues");
// 
// 	private final String value;
// 
// 	VowlAttribute(String value) {
// 
// 		this.value = value;
// 	}
// 
// 	@JsonValue
// 	public String getValue() {
// 		return value;
// 	}
// }
// 
// Path: src/main/java/de/uni_stuttgart/vis/vowl/owl2vowl/model/AbstractVowlObject.java
// public abstract class AbstractVowlObject implements HasIri, HasAnnotations, VowlVisitable {
// 	protected IRI iri;
// 	protected IRI baseIri;
// 	private Annotations annotations = new Annotations();
// 
// 	public AbstractVowlObject(IRI iri) {
// 		this.iri = iri;
// 
// 		if (iri != null) {
// 			baseIri = IRI.create(ComparisonHelper.extractBaseIRI(iri.toString()));
// 		}
// 	}
// 
// 	public IRI getBaseIri() {
// 		return baseIri;
// 	}
// 
// 	@Override
// 	public Annotations getAnnotations() {
// 		return annotations;
// 	}
// 
// 	@Override
// 	public IRI getIri() {
// 		return iri;
// 	}
// }
// 
// Path: src/main/java/de/uni_stuttgart/vis/vowl/owl2vowl/model/SetWithoutNull.java
// @SuppressWarnings("serial")
// public class SetWithoutNull<E> extends HashSet<E> {
// 	@Override
// 	public boolean add(E e) {
// 		return e != null && super.add(e);
// 
// 	}
// }
// 
// Path: src/main/java/de/uni_stuttgart/vis/vowl/owl2vowl/model/data/VowlGenerationEnum.java
// public enum VowlGenerationEnum {
// 	MANUALLY,
// 	AUTOMATIC
// }


// Path: src/main/java/de/uni_stuttgart/vis/vowl/owl2vowl/model/entities/AbstractEntity.java
import de.uni_stuttgart.vis.vowl.owl2vowl.constants.VowlAttribute;
import de.uni_stuttgart.vis.vowl.owl2vowl.model.AbstractVowlObject;
import de.uni_stuttgart.vis.vowl.owl2vowl.model.SetWithoutNull;
import de.uni_stuttgart.vis.vowl.owl2vowl.model.data.VowlGenerationEnum;
import org.semanticweb.owlapi.model.IRI;
import java.util.*;

package de.uni_stuttgart.vis.vowl.owl2vowl.model.entities;



public abstract class AbstractEntity extends AbstractVowlObject implements HasEquivalents, HasSubEntities {
	private String type;
	private Set<VowlAttribute> attributes = new HashSet<>();