/** * Merges the information (i.e. compulsory and optional properties) in this anchor with the given * one * * @param a Anchor * @return Anchor */ public Anchor merge(Anchor a) { if (a != null) { for (Iterator it = a.getCompulsoryProperties(); it.hasNext(); ) { OntProperty p = (OntProperty) it.next(); if (!compulsory.contains(p)) compulsory.add(p); redAnchor = true; } for (Iterator it = a.getOptionalProperties(); it.hasNext(); ) { OntProperty o = (OntProperty) it.next(); if (!optional.contains(o)) optional.add(o); } } sort(false); // DOES THIS EVER GET USED BY QUERY??? return this; }
/** * Constructs an anchor for the given node by copying all information from the given anchor * * @param a Another anchor * @param n The node to which the anchor must be attached * @throws BadAnchorException if the given anchor is null */ public Anchor(Anchor a, SGNode n) throws BadAnchorException { if (a == null) throw new BadAnchorException("Failed attempt to make an anchor out of a null object"); reader = a.getReader(); node = n; query = a.isQuery(); compulsory.addAll(a.getCompulsory()); optional.addAll(a.getOptional()); sort(query); redAnchor = a.isRed(); reader = a.getReader(); id = a.getID(); uri = a.getURI(); n.setAnchor(this); }
/** * Constructs an anchor by copying all information from the given anchor * * @param a Another anchor * @throws BadAnchorException if the given anchor is null */ public Anchor(Anchor a) throws BadAnchorException { if (a == null) throw new BadAnchorException("Failed attempt to make an anchor out of a null object"); merge(a); query = a.isQuery(); redAnchor = a.isRed(); // datatype = a.isDataType(); reader = a.getReader(); id = a.getID(); uri = a.getURI(); if (a.getNode() != null) { node = a.getNode(); node.setAnchor(this); } }