/** * Checks if an XDI entity is a valid XDI public link contract. * * @param xdiEntity The XDI entity to check. * @return True if the XDI entity is a valid XDI public link contract. */ public static boolean isValid(XdiEntity xdiEntity) { if (!RelationshipLinkContract.isValid(xdiEntity)) return false; if (xdiEntity instanceof XdiEntitySingleton) { if (RelationshipLinkContract.getAuthorizingAuthority(xdiEntity.getXDIAddress()) == null) return false; if (RelationshipLinkContract.getRequestingAuthority(xdiEntity.getXDIAddress()) == null) return false; if (RelationshipLinkContract.getTemplateAuthorityAndId(xdiEntity.getXDIAddress()) != null) return false; if (!XDILinkContractConstants.XDI_ADD_PUBLIC.equals( RelationshipLinkContract.getRequestingAuthority(xdiEntity.getXDIAddress()))) return false; return true; } else if (xdiEntity instanceof XdiEntityInstance) { return false; } else { return false; } }
/** * Factory method that finds or creates an XDI public link contract for a graph. * * @return The XDI public link contract. */ public static PublicLinkContract findPublicLinkContract(Graph graph, boolean create) { XDIAddress ownerXDIAddress = GraphUtil.getOwnerXDIAddress(graph); if (ownerXDIAddress == null) return null; RelationshipLinkContract relationshipLinkContract = RelationshipLinkContract.findRelationshipLinkContract( graph, ownerXDIAddress, XDILinkContractConstants.XDI_ADD_PUBLIC, null, null, create); if (relationshipLinkContract == null) return null; return fromXdiEntity(relationshipLinkContract.getXdiEntity()); }
public static XDIAddress createPublicLinkContractXDIAddress(XDIAddress ownerXDIAddress) { return RelationshipLinkContract.createRelationshipLinkContractXDIAddress( ownerXDIAddress, XDILinkContractConstants.XDI_ADD_PUBLIC, null, null); }