@Override public ATerm elementAt(final int index) { if (0 > index || index >= _length) throw new IllegalArgumentException(_illegalListIndex + index); ATermList cur = this; for (int i = 0; i < index; i++) cur = cur.getNext(); return cur.getFirst(); }
@Override public ATermAppl next() { if (!hasNext()) throw new NoSuchElementException(); final ATermAppl next = (ATermAppl) _curr.getFirst(); _curr = _curr.getNext(); return next; }
@Override public ATermAppl next() { if (!hasNext()) throw new NoSuchElementException(); final ATermAppl next = (ATermAppl) _curr.getFirst(); _curr = _curr.getNext(); return next; }
private static void addToList(final ATermAppl term, final boolean flatten, final List<ATermAppl> result) { if (flatten) for (ATermList l = (ATermList) term.getArgument(0); !l.isEmpty(); l = l.getNext()) result.add((ATermAppl) l.getFirst()); else result.add(term); }
private static void addToList(final ATermAppl term, final boolean flatten, final List<ATermAppl> result) { if (flatten) for (ATermList l = (ATermList) term.getArgument(0); !l.isEmpty(); l = l.getNext()) result.add((ATermAppl) l.getFirst()); else result.add(term); }
static public ATermAppl makeAnd(final ATermList list) { if (list == null) throw new NullPointerException(); else if (list.isEmpty()) return TOP; else if (list.getNext().isEmpty()) return (ATermAppl) list.getFirst(); return factory.makeAppl(ANDFUN, list); }
static public ATermAppl makeOr(final ATermList list) { if (list == null) throw new NullPointerException(); else if (list.isEmpty()) return BOTTOM; else if (list.getNext().isEmpty()) return (ATermAppl) list.getFirst(); return factory.makeAppl(ORFUN, list); }
@Override public boolean equivalent(final SharedObject obj) { if (obj instanceof ATermList) { final ATermList peer = (ATermList) obj; if (peer.getType() != getType()) return false; return peer.getFirst() == _first && peer.getNext() == _next; } return false; }
static public ATermAppl makeAnd(final ATermList list) { if (list == null) throw new NullPointerException(); else if (list.isEmpty()) return TOP; else if (list.getNext().isEmpty()) return (ATermAppl) list.getFirst(); return factory.makeAppl(ANDFUN, list); }
@Override public ATermList reverse() { ATermList cur = this; ATermList reverse = getEmpty(); while (!cur.isEmpty()) { reverse = reverse.insert(cur.getFirst()); cur = cur.getNext(); } return reverse; }
private void addRoleChainTransition(final TransitionGraph<Role> tg, final State<Role> initialState, final State<Role> finalState, final ATermList list, final int length) { State<Role> prev = initialState; ATermList chain = list; for (int i = 0; i < length; i++, chain = chain.getNext()) { final Role role = _rbox.getRole(chain.getFirst()); final State<Role> next = i == length - 1 ? finalState : tg.newState(); tg.addTransition(prev, role, next); prev = next; } }
private void addRoleChainTransition(final TransitionGraph<Role> tg, final State<Role> initialState, final State<Role> finalState, final ATermList list, final int length) { State<Role> prev = initialState; ATermList chain = list; for (int i = 0; i < length; i++, chain = chain.getNext()) { final Role role = _rbox.getRole(chain.getFirst()); final State<Role> next = i == length - 1 ? finalState : tg.newState(); tg.addTransition(prev, role, next); prev = next; } }
@Override public ATerm dictGet(final ATerm key) { if (isEmpty()) return null; final ATermList pair = (ATermList) _first; if (key.equals(pair.getFirst())) return pair.getNext().getFirst(); return _next.dictGet(key); }
private static boolean isBlockedByChain(final BlockingContext cxt, final ATermList chain, final ATermAppl c) { final Role firstRole = cxt._blocked.getABox().getRole(chain.getFirst()); return !cxt.getIncomingRoles().contains(firstRole.getInverse()) && cxt._blocked.getParent().hasType(ATermUtils.makeAllValues(chain.getNext(), c)); } }
private static boolean isBlockedByChain(final BlockingContext cxt, final ATermList chain, final ATermAppl c) { final Role firstRole = cxt._blocked.getABox().getRole(chain.getFirst()); return !cxt.getIncomingRoles().contains(firstRole.getInverse()) && cxt._blocked.getParent().hasType(ATermUtils.makeAllValues(chain.getNext(), c)); } }
static public ATermList negate(final ATermList list) { if (list.isEmpty()) return list; ATermAppl a = (ATermAppl) list.getFirst(); a = isNot(a) ? (ATermAppl) a.getArgument(0) : makeNot(a); final ATermList result = makeList(a, negate(list.getNext())); return result; }
static public ATermList negate(final ATermList list) { if (list.isEmpty()) return list; ATermAppl a = (ATermAppl) list.getFirst(); a = isNot(a) ? (ATermAppl) a.getArgument(0) : makeNot(a); final ATermList result = makeList(a, negate(list.getNext())); return result; }
private boolean containedIn(final Object value, final ATermAppl dconjunction) throws InvalidConstrainingFacetException, InvalidLiteralException, UnrecognizedDatatypeException { if (ATermUtils.isAnd(dconjunction)) { for (ATermList l = (ATermList) dconjunction.getArgument(0); !l.isEmpty(); l = l.getNext()) if (!getDataRange((ATermAppl) l.getFirst()).contains(value)) return false; return true; } else return getDataRange(dconjunction).contains(value); }
private boolean containedIn(final Object value, final ATermAppl dconjunction) throws InvalidConstrainingFacetException, InvalidLiteralException, UnrecognizedDatatypeException { if (ATermUtils.isAnd(dconjunction)) { for (ATermList l = (ATermList) dconjunction.getArgument(0); !l.isEmpty(); l = l.getNext()) if (!getDataRange((ATermAppl) l.getFirst()).contains(value)) return false; return true; } else return getDataRange(dconjunction).contains(value); }