package org.aksw.jena_sparql_api.concept.builder.impl; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import org.aksw.jena_sparql_api.concept.builder.api.ConceptBuilder; import org.aksw.jena_sparql_api.concept.builder.api.ConceptExpr; import org.aksw.jena_sparql_api.concept.builder.api.RestrictionBuilder; import org.apache.jena.graph.Node; import org.apache.jena.sparql.expr.Expr; public class ConceptBuilderImpl implements ConceptBuilder { protected RestrictionBuilder parent; protected boolean isNegated = false; protected Map<Node, RestrictionBuilder> nodeToRestrictionBuilder = new HashMap<>(); //protected List<RestrictionBuilde> /** * null if there is no base concept expr * */ protected ConceptExpr baseConceptExpr; protected Set<Expr> exprs; public ConceptBuilderImpl() { this(null); } public ConceptBuilderImpl(RestrictionBuilder parent) { super(); this.parent = parent; } public ConceptExpr getBaseConceptExpr() { return baseConceptExpr; } /** * Sets a baseConceptBuilder and returns this (i.e. NOT the argument) * * @param baseConceptBuilder * @return */ @Override public ConceptBuilder setBaseConceptExpr(ConceptExpr baseConceptExpr) { this.baseConceptExpr = baseConceptExpr; return this; } @Override public RestrictionBuilder newRestriction() { RestrictionBuilder result = new RestrictionBuilderImpl(this); return result; } @Override public List<RestrictionBuilder> findRestrictions(Node node) { // TODO Auto-generated method stub return null; } @Override public ConceptBuilderImpl setNegated(boolean status) { this.isNegated = true; return this; } @Override public void isNegated() { // TODO Auto-generated method stub } @Override public ConceptBuilder addExpr(Expr expr) { this.exprs.add(expr); return this; } @Override public RestrictionBuilder getParent() { return parent; } @Override public ConceptBuilderImpl clone() throws CloneNotSupportedException { // TODO Auto-generated method stub return null; } @Override public ConceptBuilder removeExpr(Expr expr) { // TODO Auto-generated method stub return null; } @Override public Set<Expr> getExprs() { return exprs; } @Override public Collection<RestrictionBuilder> listRestrictions() { Collection<RestrictionBuilder> result = nodeToRestrictionBuilder.values(); return result; } }