// Path: src/main/java/de/uni_stuttgart/vis/vowl/owl2vowl/constants/NodeType.java
// public class NodeType {
// 	public static final String TYPE_CLASS = "owl:Class";
// 	public static final String TYPE_RDFSCLASS = "rdfs:Class";
// 	public static final String TYPE_EQUIVALENT = "owl:equivalentClass";
// 	public static final String TYPE_EXTERNALCLASS = "externalclass";
// 	public static final String TYPE_DEPRECTAEDCLASS = "owl:DeprecatedClass";
// 	public static final String TYPE_THING = "owl:Thing";
// 	public static final String TYPE_NOTHING = "owl:Nothing";
// 	public static final String TYPE_RDFSRESOURCE = "rdfs:Resource";
// 	public static final String TYPE_UNION = "owl:unionOf";
// 	public static final String TYPE_INTERSECTION = "owl:intersectionOf";
// 	public static final String TYPE_DISJOINTUNION = "owl:disjointUnionOf";
// 	public static final String TYPE_COMPLEMENT = "owl:complementOf";
// 	public static final String TYPE_DATATYPE = "rdfs:Datatype";
// 	public static final String TYPE_LITERAL = "rdfs:Literal";
// 	public static final String KEY_TYPE_DATA_ONE_OF = "DATA_ONE_OF";
// }
// 
// Path: src/main/java/de/uni_stuttgart/vis/vowl/owl2vowl/model/annotation/Annotation.java
// public class Annotation {
// 	public static final String TYPE_IRI = "iri";
// 	public static final String TYPE_LABEL = "label";
// 	private String identifier;
// 	private String language = Vowl_Lang.LANG_UNSET;
// 	private String value;
// 	private String type;
// 
// 	public Annotation(String identifier, String value) {
// 		this.identifier = extractIdentifier(identifier);
// 		this.value = value;
// 		this.type = "unset";
// 	}
// 
// 	public Annotation(String identifier, String value, String type) {
// 		this.identifier = extractIdentifier(identifier);
// 		this.value = value;
// 		this.type = type;
// 	}
// 
// 	public String getType() {
// 		return type;
// 	}
// 
// 	public void setType(String type) {
// 		this.type = type;
// 	}
// 
// 	public String getIdentifier() {
// 		return identifier;
// 	}
// 
// 	public void setIdentifier(String identifier) {
// 		this.identifier = identifier;
// 	}
// 
// 	private String extractIdentifier(String identifier) {
// 		int slash = identifier.lastIndexOf("/");
// 		int arrow = identifier.lastIndexOf(">");
// 		int doubleDot = identifier.lastIndexOf(":");
// 		int hash = identifier.lastIndexOf("#");
// 
// 		int lastCut = -1;
// 		int firstCut = -1;
// 
// 		if (arrow != -1) {
// 			lastCut = arrow;
// 		}
// 
// 		if (slash != -1 && firstCut < slash) {
// 			firstCut = slash;
// 		}
// 
// 		if (doubleDot != -1 && firstCut < doubleDot) {
// 			firstCut = doubleDot;
// 		}
// 
// 		if (hash != -1 && firstCut < hash) {
// 			firstCut = hash;
// 		}
// 
// 		String result;
// 
// 		if (firstCut != -1 && lastCut != -1) {
// 			result = identifier.substring(firstCut + 1, lastCut);
// 		} else if (firstCut != -1) {
// 			result = identifier.substring(firstCut + 1);
// 		} else if (lastCut != -1){
// 			result = identifier.substring(0, lastCut);
// 		} else {
// 			result = identifier;
// 		}
// 
// 		return result;
// 	}
// 
// 	public String getLanguage() {
// 		return language;
// 	}
// 
// 	public void setLanguage(String language) {
// 		this.language = language;
// 	}
// 
// 	public String getValue() {
// 		return value;
// 	}
// 
// 	public void setValue(String value) {
// 		this.value = value;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return "Annotation{" +
// 				"type='" + type + "\'" +
// 				", identifier='" + identifier + '\'' +
// 				", language='" + language + '\'' +
// 				", value='" + value + '\'' +
// 				'}';
// 	}
// }
// 
// Path: src/main/java/de/uni_stuttgart/vis/vowl/owl2vowl/model/visitor/VowlElementVisitor.java
// public interface VowlElementVisitor extends VowlClassVisitor, VowlPropertyVisitor {
// 	void visit(VowlIndividual vowlIndividual);
// }


import de.uni_stuttgart.vis.vowl.owl2vowl.model.annotation.Annotation;
import de.uni_stuttgart.vis.vowl.owl2vowl.model.visitor.VowlElementVisitor;
import org.semanticweb.owlapi.model.IRI;
import de.uni_stuttgart.vis.vowl.owl2vowl.constants.NodeType;
/*
 * VowlLiteral.java
 *
 */

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


/**
 *
 */
public class VowlLiteral extends AbstractDatatype {
	public static final String LITERAL_IRI = "http://www.w3.org/2000/01/rdf-schema#Literal";

	public VowlLiteral(IRI iri) {
		super(iri, NodeType.TYPE_LITERAL);
// Path: src/main/java/de/uni_stuttgart/vis/vowl/owl2vowl/constants/NodeType.java
// public class NodeType {
// 	public static final String TYPE_CLASS = "owl:Class";
// 	public static final String TYPE_RDFSCLASS = "rdfs:Class";
// 	public static final String TYPE_EQUIVALENT = "owl:equivalentClass";
// 	public static final String TYPE_EXTERNALCLASS = "externalclass";
// 	public static final String TYPE_DEPRECTAEDCLASS = "owl:DeprecatedClass";
// 	public static final String TYPE_THING = "owl:Thing";
// 	public static final String TYPE_NOTHING = "owl:Nothing";
// 	public static final String TYPE_RDFSRESOURCE = "rdfs:Resource";
// 	public static final String TYPE_UNION = "owl:unionOf";
// 	public static final String TYPE_INTERSECTION = "owl:intersectionOf";
// 	public static final String TYPE_DISJOINTUNION = "owl:disjointUnionOf";
// 	public static final String TYPE_COMPLEMENT = "owl:complementOf";
// 	public static final String TYPE_DATATYPE = "rdfs:Datatype";
// 	public static final String TYPE_LITERAL = "rdfs:Literal";
// 	public static final String KEY_TYPE_DATA_ONE_OF = "DATA_ONE_OF";
// }
// 
// Path: src/main/java/de/uni_stuttgart/vis/vowl/owl2vowl/model/annotation/Annotation.java
// public class Annotation {
// 	public static final String TYPE_IRI = "iri";
// 	public static final String TYPE_LABEL = "label";
// 	private String identifier;
// 	private String language = Vowl_Lang.LANG_UNSET;
// 	private String value;
// 	private String type;
// 
// 	public Annotation(String identifier, String value) {
// 		this.identifier = extractIdentifier(identifier);
// 		this.value = value;
// 		this.type = "unset";
// 	}
// 
// 	public Annotation(String identifier, String value, String type) {
// 		this.identifier = extractIdentifier(identifier);
// 		this.value = value;
// 		this.type = type;
// 	}
// 
// 	public String getType() {
// 		return type;
// 	}
// 
// 	public void setType(String type) {
// 		this.type = type;
// 	}
// 
// 	public String getIdentifier() {
// 		return identifier;
// 	}
// 
// 	public void setIdentifier(String identifier) {
// 		this.identifier = identifier;
// 	}
// 
// 	private String extractIdentifier(String identifier) {
// 		int slash = identifier.lastIndexOf("/");
// 		int arrow = identifier.lastIndexOf(">");
// 		int doubleDot = identifier.lastIndexOf(":");
// 		int hash = identifier.lastIndexOf("#");
// 
// 		int lastCut = -1;
// 		int firstCut = -1;
// 
// 		if (arrow != -1) {
// 			lastCut = arrow;
// 		}
// 
// 		if (slash != -1 && firstCut < slash) {
// 			firstCut = slash;
// 		}
// 
// 		if (doubleDot != -1 && firstCut < doubleDot) {
// 			firstCut = doubleDot;
// 		}
// 
// 		if (hash != -1 && firstCut < hash) {
// 			firstCut = hash;
// 		}
// 
// 		String result;
// 
// 		if (firstCut != -1 && lastCut != -1) {
// 			result = identifier.substring(firstCut + 1, lastCut);
// 		} else if (firstCut != -1) {
// 			result = identifier.substring(firstCut + 1);
// 		} else if (lastCut != -1){
// 			result = identifier.substring(0, lastCut);
// 		} else {
// 			result = identifier;
// 		}
// 
// 		return result;
// 	}
// 
// 	public String getLanguage() {
// 		return language;
// 	}
// 
// 	public void setLanguage(String language) {
// 		this.language = language;
// 	}
// 
// 	public String getValue() {
// 		return value;
// 	}
// 
// 	public void setValue(String value) {
// 		this.value = value;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return "Annotation{" +
// 				"type='" + type + "\'" +
// 				", identifier='" + identifier + '\'' +
// 				", language='" + language + '\'' +
// 				", value='" + value + '\'' +
// 				'}';
// 	}
// }
// 
// Path: src/main/java/de/uni_stuttgart/vis/vowl/owl2vowl/model/visitor/VowlElementVisitor.java
// public interface VowlElementVisitor extends VowlClassVisitor, VowlPropertyVisitor {
// 	void visit(VowlIndividual vowlIndividual);
// }


// Path: src/main/java/de/uni_stuttgart/vis/vowl/owl2vowl/model/entities/nodes/datatypes/VowlLiteral.java
import de.uni_stuttgart.vis.vowl.owl2vowl.model.annotation.Annotation;
import de.uni_stuttgart.vis.vowl.owl2vowl.model.visitor.VowlElementVisitor;
import org.semanticweb.owlapi.model.IRI;
import de.uni_stuttgart.vis.vowl.owl2vowl.constants.NodeType;

/*
 * VowlLiteral.java
 *
 */

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


/**
 *
 */
public class VowlLiteral extends AbstractDatatype {
	public static final String LITERAL_IRI = "http://www.w3.org/2000/01/rdf-schema#Literal";

	public VowlLiteral(IRI iri) {
		super(iri, NodeType.TYPE_LITERAL);
		getAnnotations().addLabel(new Annotation("label", "Literal"));