public static XDIAddress fromComponents(List<XDIArc> XDIarcs) { return fromComponents(null, XDIarcs); }
protected XDIAddress newXDIAddress(String string, List<XDIArc> arcs) { return XDIAddress.fromComponents(string, arcs); }
public static XDIAddress createLinkContractTemplateXDIAddress(XDIAddress templateAuthorityAndId) { if (templateAuthorityAndId == null) throw new NullPointerException(); if (templateAuthorityAndId.isLiteralNodeXDIAddress()) throw new IllegalArgumentException("Cannot use literal address of template authority and ID " + templateAuthorityAndId); List<XDIArc> linkContractTemplateArcXDIAddresses = new ArrayList<XDIArc> (); linkContractTemplateArcXDIAddresses.addAll(templateAuthorityAndId.getXDIArcs()); linkContractTemplateArcXDIAddresses.add(XDILinkContractConstants.XDI_ARC_V_CONTRACT); return XDIAddress.fromComponents(linkContractTemplateArcXDIAddresses); }
/** * Concats all addresses into a new address. */ public static XDIAddress concatXDIAddresses(final XDIAddress... XDIaddresses) { XDIAddress result = null; try { List<XDIArc> XDIarcs = new ArrayList<XDIArc> (); if (XDIaddresses != null) { for (XDIAddress XDIaddress : XDIaddresses) { if (XDIaddress != null) XDIarcs.addAll(XDIaddress.getXDIArcs()); } } if (XDIarcs.size() == 0) XDIarcs.addAll(XDIConstants.XDI_ADD_ROOT.getXDIArcs()); { result = XDIAddress.fromComponents(XDIarcs); return result; } } finally { if (log.isTraceEnabled()) log.trace("concatXDIAddresses(" + Arrays.asList(XDIaddresses) + ") --> " + result); } }
public static XDIAddress createRelationshipLinkContractXDIAddress(XDIAddress authorizingAuthority, XDIAddress requestingAuthority, XDIAddress templateAuthorityAndId, XDIArc instanceXDIArc) { if (authorizingAuthority == null) throw new NullPointerException(); if (requestingAuthority == null) throw new NullPointerException(); if (authorizingAuthority.isLiteralNodeXDIAddress()) throw new IllegalArgumentException("Cannot use literal address of authorizing authority " + authorizingAuthority); if (requestingAuthority.isLiteralNodeXDIAddress()) throw new IllegalArgumentException("Cannot use literal address requesting authority " + requestingAuthority); if (templateAuthorityAndId != null && templateAuthorityAndId.isLiteralNodeXDIAddress()) throw new IllegalArgumentException("Cannot use literal address of template authority and ID " + templateAuthorityAndId); List<XDIArc> relationshipLinkContractXDIArcs = new ArrayList<XDIArc> (); XDIArc linkContractInnerRootXDIArc = XdiInnerRoot.createInnerRootXDIArc( authorizingAuthority, requestingAuthority); relationshipLinkContractXDIArcs.add(linkContractInnerRootXDIArc); if (templateAuthorityAndId != null) { relationshipLinkContractXDIArcs.addAll(templateAuthorityAndId.getXDIArcs()); } if (instanceXDIArc == null) { relationshipLinkContractXDIArcs.add(XDILinkContractConstants.XDI_ARC_CONTRACT); } else { relationshipLinkContractXDIArcs.add(XDILinkContractConstants.XDI_ARC_EC_CONTRACT); relationshipLinkContractXDIArcs.add(instanceXDIArc); } return XDIAddress.fromComponents(relationshipLinkContractXDIArcs); }
/** * Extracts an address's parent arc(s), counting either from the start or the end. * For =a*b*c*d and 1, this returns =a * For =a*b*c*d and -1, this returns =a*b*c */ public static XDIAddress parentXDIAddress(final XDIAddress XDIaddress, final int numXDIArcs) { if (XDIaddress == null) throw new NullPointerException(); if (XDIaddress.getNumXDIArcs() == numXDIArcs) return XDIaddress; if (XDIaddress.getNumXDIArcs() == - numXDIArcs) return XDIConstants.XDI_ADD_ROOT; XDIAddress result = null; try { List<XDIArc> XDIarcs = new ArrayList<XDIArc> (); if (numXDIArcs > 0) { for (int i = 0; i < numXDIArcs; i++) XDIarcs.add(XDIaddress.getXDIArc(i)); } else if (numXDIArcs < 0) { for (int i = 0; i < XDIaddress.getNumXDIArcs() - (- numXDIArcs); i++) XDIarcs.add(XDIaddress.getXDIArc(i)); } else { { result = XDIaddress; return result; } } if (XDIarcs.size() == 0) { result = null; return result; } { result = XDIAddress.fromComponents(XDIarcs); return result; } } finally { if (log.isTraceEnabled()) log.trace("parentXDIAddress(" + XDIaddress + "," + numXDIArcs + ") --> " + result); } }
if (keepLocal) XDIarcs.addAll(XDIlocalArcs); return XDIAddress.fromComponents(XDIarcs); } catch (Exception ex) {
/** * Extracts an address's local arc(s). * For =a*b*c*d and 1, this returns *d * For =a*b*c*d and -1, this returns *b*c*d */ public static XDIAddress localXDIAddress(final XDIAddress XDIaddress, final int numXDIArcs) { if (XDIaddress == null) throw new NullPointerException(); if (XDIaddress.getNumXDIArcs() == numXDIArcs) return XDIaddress; if (XDIaddress.getNumXDIArcs() == - numXDIArcs) return XDIConstants.XDI_ADD_ROOT; XDIAddress result = null; try { List<XDIArc> XDIarcs = new ArrayList<XDIArc> (); if (numXDIArcs > 0) { for (int i = XDIaddress.getNumXDIArcs() - numXDIArcs; i < XDIaddress.getNumXDIArcs(); i++) XDIarcs.add(XDIaddress.getXDIArc(i)); } else if (numXDIArcs < 0) { for (int i = (- numXDIArcs); i < XDIaddress.getNumXDIArcs(); i++) XDIarcs.add(XDIaddress.getXDIArc(i)); } else { { result = XDIaddress; return XDIaddress; } } if (XDIarcs.size() == 0) { result = null; return result; } { result = XDIAddress.fromComponents(XDIarcs); return result; } } finally { if (log.isTraceEnabled()) log.trace("localXDIAddress(" + XDIaddress + "," + numXDIArcs + ") --> " + result); } }
{ result = XDIAddress.fromComponents(XDIarcs); return result; } } finally {