public static Function<Link, String> toRel() { return link -> link.rel().get(); } }
public static Predicate<Link> withRel(final String rel) { return link -> link.rel().get().equals( rel); }
HandlerCommand query( Link link, Object queryRequest, ResponseHandler handler, ResponseHandler processingErrorHandler ) { if (handler == null) handler = queryHandlers.get( link.rel().get() ); if (handler == null) throw new IllegalArgumentException( "No handler set for relation "+link.rel().get() ); if (processingErrorHandler == null) processingErrorHandler = processingErrorHandlers.get( link.rel().get() ); Reference linkRef = new Reference(link.href().get()); if (linkRef.isRelative()) linkRef = new Reference( reference.toUri().toString() + link.href().get() ); return invokeQuery( linkRef, queryRequest, handler, processingErrorHandler ); }
HandlerCommand command( Link link, Object commandRequest, ResponseHandler handler, ResponseHandler processingErrorHandler ) { if (handler == null) handler = commandHandlers.get( link.rel().get() ); if (processingErrorHandler == null) processingErrorHandler = processingErrorHandlers.get( link.rel().get() ); // Check if we should do POST or PUT Method method; if( LinksUtil.withClass( "idempotent" ).test( link ) ) { method = Method.PUT; } else { method = Method.POST; } Reference ref = new Reference( reference.toUri().toString() + link.href().get() ); return invokeCommand( ref, method, commandRequest, handler, processingErrorHandler ); }
prototype.text().set( humanReadable( query.getName() ) ); prototype.href().set( query.getName().toLowerCase() ); prototype.rel().set( query.getName().toLowerCase() ); prototype.id().set( query.getName().toLowerCase() ); queriesProperty.add( linkBuilder.newInstance() ); prototype.text().set( humanReadable( command.getName() ) ); prototype.href().set( command.getName().toLowerCase() ); prototype.rel().set( command.getName().toLowerCase() ); prototype.id().set( command.getName().toLowerCase() ); commandsProperty.add( linkBuilder.newInstance() ); prototype.text().set( humanReadable( subResource.getName() ) ); prototype.href().set( subResource.getName().toLowerCase() + "/" ); prototype.rel().set( subResource.getName().toLowerCase() ); prototype.id().set( subResource.getName().toLowerCase() ); resourcesProperty.add( linkBuilder.newInstance() );
prototype.text().set( humanReadable( query.getName() ) ); prototype.href().set( query.getName().toLowerCase() ); prototype.rel().set( query.getName().toLowerCase() ); prototype.id().set( query.getName().toLowerCase() ); queriesProperty.add( linkBuilder.newInstance() ); prototype.text().set( humanReadable( command.getName() ) ); prototype.href().set( command.getName().toLowerCase() ); prototype.rel().set( command.getName().toLowerCase() ); prototype.id().set( command.getName().toLowerCase() ); commandsProperty.add( linkBuilder.newInstance() ); prototype.text().set( humanReadable( subResource.getName() ) ); prototype.href().set( subResource.getName().toLowerCase() + "/" ); prototype.rel().set( subResource.getName().toLowerCase() ); prototype.id().set( subResource.getName().toLowerCase() ); resourcesProperty.add( linkBuilder.newInstance() );
public T addLink( String description, String id ) { try { linkBuilder.prototype().text().set( description ); linkBuilder.prototype().id().set( id ); if( command != null ) { linkBuilder.prototype().href().set( command + "?entity=" + id ); } else { linkBuilder.prototype() .href() .set( ( path == null ? "" : path + "/" ) + URLEncoder.encode( id, "UTF-8" ) + "/" ); } linkBuilder.prototype().rel().set( rel ); linkBuilder.prototype().classes().set( classes ); addLink( linkBuilder.newInstance() ); return (T) this; } catch( UnsupportedEncodingException e ) { e.printStackTrace(); return (T) this; } }
public T addLink( String description, String id, String rel, String href, String classes ) { linkBuilder.prototype().text().set( description ); linkBuilder.prototype().id().set( id ); linkBuilder.prototype().rel().set( rel ); linkBuilder.prototype().href().set( href ); linkBuilder.prototype().classes().set( classes ); addLink( linkBuilder.newInstance() ); return (T) this; }