@Override public List<T> execute( Locale locale ) { return execute( null, locale ); }
@Override public List<T> finish() { return finish( null, withLocale ); }
@Override public <T> ListRequest<T> list( @Nonnull Class<T> resource, @Nullable Identifier parent ) { checkNotNull( resource ); ListExecutorAdaptee adaptee = adaptee( ListExecutorAdaptee.class, resource ); Object remoteRequest; try { //noinspection unchecked remoteRequest = adaptee.prepareList( parent ); } catch ( IOException e ) { throw new ClientErrorException( 400, e.getMessage() ); } return new ListRequest<>( resource, this, adaptee, remoteRequest ); }
@Override public <T> ListRequest<T> list( @Nonnull Class<T> resource, @Nullable Identifier parent ) { checkNotNull( resource ); ListExecutorAdaptee adaptee = adaptee( ListExecutorAdaptee.class, resource ); Object remoteRequest; try { //noinspection unchecked remoteRequest = adaptee.prepareList( parent == null ? null : parent.root() ); } catch ( IOException e ) { throw new ClientErrorException( e.getMessage() ); } return new ListRequest<>( resource, this, adaptee, remoteRequest ); }
@Override public List<T> finish( int start, int length ) { if ( start < 0 || length < 0 ) { String msg = "start: '" + start + "' or length: '" + length + "' property cannot have negative values."; throw new IllegalArgumentException( msg ); } this.start = start; this.length = length; return finish( null, null ); }
@Override public List<T> execute() { return execute( null, null ); }
@Override public List<T> finish( @Nullable Locale locale ) { return finish( null, locale ); }
@Override public List<T> execute( Map<String, Object> criteria ) { return execute( criteria, null ); }
@Override public List<T> finish( @Nullable Map<String, Object> criteria ) { return finish( criteria, withLocale ); }
@Override public List<T> execute( int start, int length ) { if ( start < 0 || length < 0 ) { String msg = "start: '" + start + "' or length: '" + length + "' property cannot have negative values."; throw new IllegalArgumentException( msg ); } this.start = start; this.length = length; return execute( null, null ); }
@Override public List<T> finish( @Nonnull RequestCredential credential ) { checkNotNull( credential ); credential.populate( this.params ); return finish(); }