@Override public <R> Request<R> answerBy( @Nonnull Class<R> type ) { return new NewInstanceRequest<>( type, adapter, adaptee, remoteRequest ); }
@Override public T execute() { return execute( null, null ); }
@Override public T finish() { return finish( null, withLocale ); }
@Override public <R> R finish( @Nonnull Class<R> type ) { return answerBy( type ).finish(); } }
@Override public T finish( @Nullable Locale locale ) { return finish( null, locale ); }
@Override public <T> SingleRequest<T> newInstance( @Nonnull Class<T> resource, @Nullable Map<String, Object> parameters, @Nullable Locale locale ) { checkNotNull( resource ); NewExecutorAdaptee adaptee = adaptee( NewExecutorAdaptee.class, resource ); Object remoteRequest; try { remoteRequest = adaptee.prepareNew( resource.getSimpleName(), parameters, locale ); } catch ( IOException e ) { throw new ClientErrorException( 400, e.getMessage() ); } return new NewInstanceRequest<>( resource, this, adaptee, remoteRequest ); }
@Override public T finish( @Nullable Map<String, Object> criteria ) { return finish( criteria, withLocale ); }
@Override public T execute( Locale locale ) { return execute( null, locale ); }
@Override public <T> PayloadRequest<T> newInstance( @Nonnull Class<T> resource ) { checkNotNull( resource ); NewExecutorAdaptee adaptee = adaptee( NewExecutorAdaptee.class, resource ); Object remoteRequest; try { remoteRequest = adaptee.prepareNew( resource.getSimpleName() ); } catch ( IOException e ) { throw new ClientErrorException( e.getMessage() ); } return new NewInstanceRequest<>( resource, this, adaptee, remoteRequest ); }
@Override public T finish( @Nonnull RequestCredential credential ) { checkNotNull( credential ); credential.populate( this.params ); return finish(); }
@Override public T execute( Map<String, Object> criteria ) { return execute( criteria, null ); }