@Override public boolean isTopAtom(Atom atom) { return !dependents.containsKey(atom); }
/** * @param k k * @param v v */ public void putAll(K k, Collection<V> v) { Collection<V> set = map.get(k); if (set == null) { set = createCollection(); setEntry(k, set); } set.addAll(v); size = -1; }
/** * @return the size of the multimap (sum of all the sizes of the sets) */ public int size() { if (size < 0) { size = getAllValues().size(); } return this.size; }
@Override public String toString() { return "MultiMap " + size() + "\n" + map.toString(); }
/** * @param key key * @param value value * @return true if changes happen */ public boolean put(K key, V value) { Collection<V> set = this.map.get(key); if (set == null) { set = createCollection(); this.map.put(key, set); } boolean toReturn = set.add(value); if (toReturn) { size = -1; } return toReturn; }
Set<Atom> explore(Atom atom, boolean direct, IdentityMultiMap<Atom, Atom> multimap) { if (direct) { Set<Atom> hashSet = new HashSet<>(multimap.get(atom)); for (Atom a : multimap.get(atom)) { hashSet.removeAll(multimap.get(a)); } return hashSet; } Map<Atom, Atom> toReturn = new HashMap<>(); toReturn.put(atom, atom); List<Atom> toDo = new ArrayList<>(); toDo.add(atom); for (int i = 0; i < toDo.size(); i++) { final Atom key = toDo.get(i); if (key != null) { Collection<Atom> c = multimap.get(key); for (Atom a : c) { if (toReturn.put(a, a) == null) { toDo.add(a); } } } } return toReturn.keySet(); }
/** * @param axioms axioms * @param type type */ public AtomicDecompositionImpl(List<OWLAxiom> axioms, ModuleType type) { this.type = type; decomposer = new Decomposer(AxiomSelector.wrap(axioms), new SyntacticLocalityChecker()); int size = decomposer.getAOS(this.type).size(); atoms = new ArrayList<>(); for (int i = 0; i < size; i++) { final Atom atom = new Atom(asSet(decomposer.getAOS().get(i).getAtomAxioms())); atoms.add(atom); atomIndex.put(atom, i); for (OWLEntity e : atom.getSignature()) { termBasedIndex.put(e, atom); } } for (int i = 0; i < size; i++) { Set<OntologyAtom> dependentIndexes = decomposer.getAOS().get(i).getDependencies(); for (OntologyAtom j : dependentIndexes) { dependencies.put(atoms.get(i), atoms.get(j.getId())); dependents.put(atoms.get(j.getId()), atoms.get(i)); } } }
/** * @return the size of the multimap (sum of all the sizes of the sets) */ public int size() { if (size < 0) { size = getAllValues().size(); } return this.size; }
@Override public String toString() { return "MultiMap " + size() + "\n" + map.toString(); }
/** * @param key key * @param value value * @return true if changes happen */ public boolean put(K key, V value) { Collection<V> set = this.map.get(key); if (set == null) { set = createCollection(); this.map.put(key, set); } boolean toReturn = set.add(value); if (toReturn) { size = -1; } return toReturn; }
Set<Atom> explore(Atom atom, boolean direct, IdentityMultiMap<Atom, Atom> multimap) { if (direct) { Set<Atom> hashSet = new HashSet<>(multimap.get(atom)); for (Atom a : multimap.get(atom)) { hashSet.removeAll(multimap.get(a)); } return hashSet; } Map<Atom, Atom> toReturn = new HashMap<>(); toReturn.put(atom, atom); List<Atom> toDo = new ArrayList<>(); toDo.add(atom); for (int i = 0; i < toDo.size(); i++) { final Atom key = toDo.get(i); if (key != null) { Collection<Atom> c = multimap.get(key); for (Atom a : c) { if (toReturn.put(a, a) == null) { toDo.add(a); } } } } return toReturn.keySet(); }
/** * @param axioms axioms * @param type type */ public AtomicDecompositionImpl(List<OWLAxiom> axioms, ModuleType type) { this.type = type; decomposer = new Decomposer(AxiomSelector.wrap(axioms), new SyntacticLocalityChecker()); int size = decomposer.getAOS(this.type).size(); atoms = new ArrayList<>(); for (int i = 0; i < size; i++) { final Atom atom = new Atom(asSet(decomposer.getAOS().get(i).getAtomAxioms())); atoms.add(atom); atomIndex.put(atom, i); for (OWLEntity e : atom.getSignature()) { termBasedIndex.put(e, atom); } } for (int i = 0; i < size; i++) { Set<OntologyAtom> dependentIndexes = decomposer.getAOS().get(i).getDependencies(); for (OntologyAtom j : dependentIndexes) { dependencies.put(atoms.get(i), atoms.get(j.getId())); dependents.put(atoms.get(j.getId()), atoms.get(i)); } } }
/** * @param k k * @param v v */ public void putAll(K k, Collection<V> v) { Collection<V> set = map.get(k); if (set == null) { set = createCollection(); setEntry(k, set); } set.addAll(v); size = -1; }
/** * @return the size of the multimap (sum of all the sizes of the sets) */ public int size() { if (size < 0) { size = getAllValues().size(); } return this.size; }
@Override public boolean isBottomAtom(Atom atom) { return !dependencies.containsKey(atom); }
@Override public String toString() { return "MultiMap " + size() + "\n" + map.toString(); }
/** * @param key key * @param value value * @return true if changes happen */ public boolean put(K key, V value) { Collection<V> set = this.map.get(key); if (set == null) { set = createCollection(); this.map.put(key, set); } boolean toReturn = set.add(value); if (toReturn) { size = -1; } return toReturn; }
Set<Atom> explore(Atom atom, boolean direct, IdentityMultiMap<Atom, Atom> multimap) { if (direct) { Set<Atom> hashSet = new HashSet<>(multimap.get(atom)); for (Atom a : multimap.get(atom)) { hashSet.removeAll(multimap.get(a)); } return hashSet; } Map<Atom, Atom> toReturn = new HashMap<>(); toReturn.put(atom, atom); List<Atom> toDo = new ArrayList<>(); toDo.add(atom); for (int i = 0; i < toDo.size(); i++) { final Atom key = toDo.get(i); if (key != null) { Collection<Atom> c = multimap.get(key); for (Atom a : c) { if (toReturn.put(a, a) == null) { toDo.add(a); } } } } return toReturn.keySet(); }