public void addLink(ResourceLink link) { getLinks().add(link); }
public boolean doesNotContainRel(String rel) { return !containRel(rel); }
private Resource getResource(LinkableRepresentation<?> representation) { for(Resource resource: resources) { if(representation.getRepresentationType().equals(getResourceTypeName(resource))) { return resource; } } return null; }
@Override public void appendLinks(LinkableRepresentation<?> representation) { if(!(representation instanceof Identifiable)) { return; } Identifiable sourceIdentifiable = (Identifiable)representation; // TODO: Remove need for cast Collection<RelationMatch> matches = service.getMatchingRelations(representation.getSourceType()); for(RelationMatch target: matches) { UriBuilder buidler = representation.getUriInfo().getBaseUriBuilder().segment( "rel", getTypeName(target.getSourceModel()), sourceIdentifiable.getId(), target.getSource().getType(), getTypeName(target.getTargetModel())); // TODO: Dynamically lookup MediaType representation.addLink( new ResourceLink( target.getSource().getName(), buidler.build(), RelationResource.BASE_JSON_MEDIA_TYPE + "; type=" + getMediaTypeName(target.getTargetModel()))); } }
@Override public void appendLinks(LinkableRepresentation<?> representation) { Resource source = getResource(representation); if(source == null) { return; } if(representation instanceof Identifiable) { Identifiable sourceObject = (Identifiable)representation; if(sourceObject.getId() != null) { representation.addLink( generateResourceLink( source, sourceObject.getId(), representation.getUriInfo())); } } }
@Override public List<ResourceLink> getLinks() { List<ResourceLink> links = super.getLinks(); if (getUriInfo() != null) { if(doesNotContainRel("self") && id != null) { links.add( new ResourceLink( "self", getUriInfo().getBaseUriBuilder().clone() .path(AttachmentResource.class) .segment("{id}") .build(id), AttachmentResource.ATTACHMENT_XML_MEDIA_TYPE)); } } return links; } }
@Override public List<ResourceLink> getLinks() { List<ResourceLink> links = super.getLinks(); if (getUriInfo() != null) { if(doesNotContainRel("self") && handle != null) { links.add( new ResourceLink( "self", getUriInfo().getBaseUriBuilder().clone() .path(UserResource.class) .segment("{id}") .build(handle), UserResource.USER_XML_MEDIA_TYPE)); } } return links; } }
public List<ResourceLink> getLinks() { List<ResourceLink> links = super.getLinks(); if (getUriInfo() != null) { if(doesNotContainRel("self") && id != null) { links.add( new ResourceLink( "self", getUriInfo().getBaseUriBuilder().clone() .path(ConferenceResource.class) .segment("{id}") .build(id))); } if(doesNotContainRel("session")) { links.add( new ResourceLink( "session", getUriInfo().getAbsolutePathBuilder().clone() .path("session") .build())); } } return links; } }
public List<ResourceLink> getLinks() { List<ResourceLink> links = super.getLinks(); if (getUriInfo() != null) { if(doesNotContainRel("self") && id != null) { links.add( new ResourceLink( "self", getUriInfo().getBaseUriBuilder() .path(SessionResource.class) .segment("{id}") .build(id), SessionResource.SESSION_XML_MEDIA_TYPE)); } if(doesNotContainRel("parent") && parentId != null) { links.add( new ResourceLink( "parent", getUriInfo().getBaseUriBuilder() .path(ConferenceResource.class) .segment("{id}") .build(parentId), ConferenceResource.CONFERENCE_XML_MEDIA_TYPE)); } } return links; } }