package org.aksw.sparqlify.util;
import java.util.Collection;
interface NormalForm<T> {
public Collection<Clause<T>> getClauses();
}
interface Clause<T> {
public Collection<T> getLiterals();
public boolean contains(T literal);
}
class ClauseImpl<T>
implements Clause<T>
{
private Collection<T> literals;
public ClauseImpl(Collection<T> literals) {
this.literals = literals;
}
@Override
public Collection<T> getLiterals() {
return literals;
}
@Override
public boolean contains(T literal) {
// TODO Auto-generated method stub
return false;
}
}
class NormalFormImpl<T>
implements NormalForm<T>
{
private Collection<Clause<T>> clauses;
public NormalFormImpl(Collection<Clause<T>> clauses) {
this.clauses = clauses;
}
@Override
public Collection<Clause<T>> getClauses() {
return clauses;
}
}
//class NormalFormCollectionFactory<T> {
// private Collection<T> newClause();
//}