@Override public XDIAddress map(Relation relation) { return relation.getXDIAddress(); } }
/** * Returns the operation identifier of the XDI operation (e.g. $get, $mod). * @return The operation identifier of the XDI operation. */ public XDIAddress getOperationXDIAddress() { return this.getRelation().getXDIAddress(); }
@Override public boolean select(Relation relation) { return Operation.isValidOperationXDIAddress(relation.getXDIAddress()); } });
@Override public boolean select(Relation relation) { return relation.getXDIAddress().equals(XDIDictionaryConstants.XDI_ADD_REF) || relation.getXDIAddress().equals(XDIDictionaryConstants.XDI_ADD_REP); } };
@Override public boolean select(Relation relation) { return relation.getXDIAddress().equals(XDIDictionaryConstants.XDI_ADD_HAS); } };
@Override public boolean select(Relation relation) { return relation.getXDIAddress().equals(XDIDictionaryConstants.XDI_ADD_REP); } };
@Override public boolean select(Relation relation) { return relation.getXDIAddress().equals(XDIaddress); } };
private void putRelationIntoJsonObject(Relation relation, JsonObject jsonObject) { JsonArray relationJsonArray = jsonObject.getAsJsonArray(relation.getXDIAddress().toString()); if (relationJsonArray == null) { relationJsonArray = new JsonArray(); jsonObject.add(relation.getXDIAddress().toString(), relationJsonArray); } relationJsonArray.add(new JsonPrimitive(relation.getTargetXDIAddress().toString())); } }
private void putRelationIntoJsonObject(Relation relation, JsonObject jsonObject) { if (! this.isWriteImplied() && relation.getStatement().isImplied()) return; JsonArray relationJsonArray = jsonObject.getAsJsonArray("/" + relation.getXDIAddress().toString()); if (relationJsonArray == null) { relationJsonArray = new JsonArray(); jsonObject.add("/" + relation.getXDIAddress().toString(), relationJsonArray); } relationJsonArray.add(new JsonPrimitive(relation.getTargetXDIAddress().toString())); } }
@Override public synchronized void delRelations(XDIAddress XDIaddress) { ReadOnlyIterator<Relation> relations = this.getRelations(XDIaddress); // delete relations this.relations.remove(XDIaddress); // delete inner roots for (Relation relation : relations) { this.delRelationDelInnerRoot(relation.getXDIAddress(), relation.getTargetXDIAddress()); } }
/** * Checks if an relation is a valid XDI $do operation. * @param relation The relation to check. * @return True if the relation is a valid XDI $do operation. */ public static boolean isValid(Relation relation) { if (XDIAddressUtil.startsWithXDIAddress(relation.getXDIAddress(), XDIMessagingConstants.XDI_ADD_DO) == null) return false; if (! XDIMessagingConstants.XDI_ARC_DO.equals(relation.getContextNode().getXDIArc())) return false; return true; }
/** * When a context node is deleted, all inner roots have to be deleted too. */ protected void delContextNodeDelAllInnerRoots() { for (Relation relation : this.getAllRelations()) { AbstractContextNode contextNode = ((AbstractContextNode) relation.getContextNode()); contextNode.delRelationDelInnerRoot(relation.getXDIAddress(), relation.getTargetXDIAddress()); } }
/** * Checks if an relation is a valid XDI $push operation. * @param relation The relation to check. * @return True if the relation is a valid XDI $push operation. */ public static boolean isValid(Relation relation) { if (XDIAddressUtil.startsWithXDIAddress(relation.getXDIAddress(), XDIMessagingConstants.XDI_ADD_PUSH) == null) return false; if (! XDIMessagingConstants.XDI_ARC_DO.equals(relation.getContextNode().getXDIArc())) return false; return true; }
/** * Checks if an relation is a valid XDI $del operation. * @param relation The relation to check. * @return True if the relation is a valid XDI $del operation. */ public static boolean isValid(Relation relation) { if (XDIAddressUtil.startsWithXDIAddress(relation.getXDIAddress(), XDIMessagingConstants.XDI_ADD_DEL) == null) return false; if (! XDIMessagingConstants.XDI_ARC_DO.equals(relation.getContextNode().getXDIArc())) return false; return true; }
/** * Checks if an relation is a valid XDI $set operation. * @param relation The relation to check. * @return True if the relation is a valid XDI $set operation. */ public static boolean isValid(Relation relation) { if (XDIAddressUtil.startsWithXDIAddress(relation.getXDIAddress(), XDIMessagingConstants.XDI_ADD_SET) == null) return false; if (! XDIMessagingConstants.XDI_ARC_DO.equals(relation.getContextNode().getXDIArc())) return false; return true; }
@Override public synchronized void delRelations() { ReadOnlyIterator<Relation> relations = this.getRelations(); // delete relations String relationsKey = this.getRelationsKey(); this.keyValueStore.delete(relationsKey); // delete inner roots for (Relation relation : relations) { this.delRelationDelInnerRoot(relation.getXDIAddress(), relation.getTargetXDIAddress()); } }
/** * Checks if a relation is a valid XDI $false operator. * @param relation The relation to check. * @return True if the relation is a valid XDI $false operator. */ public static boolean isValid(Relation relation) { if (! XdiAbstractEntity.isValid(relation.getContextNode())) return false; if (! Policy.isValid(XdiAbstractEntity.fromContextNode(relation.getContextNode()))) return false; if (! XDIConstants.XDI_ADD_FALSE.equals(relation.getXDIAddress())) return false; return true; }
@Override public synchronized void delRelations(XDIAddress XDIaddress) { ReadOnlyIterator<Relation> relations = this.getRelations(XDIaddress); // delete relations String relationsKey = this.getRelationsKey(); this.keyValueStore.delete(relationsKey, XDIaddress.toString()); // delete inner roots for (Relation relation : relations) { this.delRelationDelInnerRoot(relation.getXDIAddress(), relation.getTargetXDIAddress()); } }
/** * Checks if a relation is a valid XDI $true operator. * @param relation The relation to check. * @return True if the relation is a valid XDI $true operator. */ public static boolean isValid(Relation relation) { if (! XdiAbstractEntity.isValid(relation.getContextNode())) return false; if (! Policy.isValid(XdiAbstractEntity.fromContextNode(relation.getContextNode()))) return false; if (! XDIConstants.XDI_ADD_TRUE.equals(relation.getXDIAddress())) return false; return true; }
@Override public int compareTo(Relation other) { if (other == null || other == this) return 0; int compare; if ((compare = this.getContextNode().compareTo(other.getContextNode())) != 0) return compare; if ((compare = this.getXDIAddress().compareTo(other.getXDIAddress())) != 0) return compare; if ((compare = this.getTargetXDIAddress().compareTo(other.getTargetXDIAddress())) != 0) return compare; return 0; }