public UnionModel(Model... unionOf) { if (unionOf == null || unionOf.length == 0) { models = new Model[] { new EmptyModel(new LinkedHashModel()) }; } else { models = unionOf; } }
public Model filter(Value s, Value p, Value o, Value... c) { if (s == null) { s = subj; } if (p == null) { p = pred; } if (o == null) { o = obj; } if (c != null && c.length == 0) { c = contexts; } if (!accept(s, p, o, c)) { return new EmptyModel(model); } return model.filter(s, p, o, c); }
@Override public Model filter(Resource s, IRI p, Value o, Resource... c) { if (s == null) { s = subj; } if (p == null) { p = pred; } if (o == null) { o = obj; } if (c != null && c.length == 0) { c = contexts; } if (!accept(s, p, o, c)) { return new EmptyModel(model); } return model.filter(s, p, o, c); }
public Model filter(final Value subj, final Value pred, final Value obj, final Value... contexts) { if (!isResourceURI(subj, pred) || !isEmptyOrResourcePresent(contexts)) return new EmptyModel(this); return new FilteredModel(this, subj, pred, obj, contexts) { @Override public int size() { if (subj == null && pred == null && obj == null) { try { return (int) con.size(cast(contexts)); } catch (RepositoryException e) { throw new ModelException(e); } } return super.size(); } @Override public Iterator<Statement> iterator() { try { return new StatementIterator(con.getStatements( (Resource) subj, (URI) pred, obj, false, cast(contexts))); } catch (RepositoryException e) { throw new ModelException(e); } } }; }