@Override public Void execute( Map<String, Object> parameters, Locale locale ) { return adapter.callbackExecuteDelete( adaptee, remoteRequest, resource, identifier, locale ); } }
@Override public T execute( Map<String, Object> parameters, Locale locale ) { return adapter.callbackExecuteGet( adaptee, remoteRequest, resource, identifier, parameters, locale ); } }
@Override public T execute( Map<String, Object> parameters, Locale locale ) { return adapter.callbackExecuteInsert( adaptee, remoteRequest, resource, parentKey, parameters, locale ); } }
<T> SingleRequest<T> internalInsert( @Nonnull T resource, @Nullable Identifier parentKey, @Nullable MediaProvider<?> provider ) { checkNotNull( resource ); Class<?> remoteResource = evaluateRemoteResource( resource.getClass() ); Object source; if ( resource.getClass() == remoteResource ) { source = resource; } else { source = mapper.map( resource, remoteResource ); } @SuppressWarnings( "unchecked" ) InsertExecutorAdaptee<Object> adaptee = adaptee( InsertExecutorAdaptee.class, resource.getClass() ); Object remoteRequest; try { remoteRequest = adaptee.prepareInsert( source, parentKey, provider ); } catch ( IOException e ) { throw new ClientErrorException( 400, e.getMessage() ); } @SuppressWarnings( "unchecked" ) Class<T> resourceClass = ( Class<T> ) resource.getClass(); return new InsertRequest<>( resourceClass, parentKey, this, adaptee, remoteRequest ); }
@Override public <S> org.ctoolkit.restapi.client.PatchRequest<S> patch( @Nonnull Class<S> resource ) { @SuppressWarnings( "unchecked" ) PatchAdaptee<S> adaptee = adaptee( PatchAdaptee.class, resource ); return new PatchRequestImpl<>( this, adaptee ); }
@Override public <T> SingleRequest<T> delete( @Nonnull Class<T> resource, @Nonnull Long identifier ) { return delete( resource, new Identifier( identifier ) ); }
@Override public List<T> execute( Map<String, Object> criteria, Locale locale ) { return adapter.callbackExecuteList( adaptee, remoteRequest, resource, criteria, locale, start, length ); }
@Override public T execute( Map<String, Object> parameters, Locale locale ) { return adapter.callbackExecutePatch( adaptee, remoteRequest, responseType, identifier, parameters, locale ); } }
@Override public T execute( Map<String, Object> parameters, Locale locale ) { return adapter.callbackExecuteUpdate( adaptee, remoteRequest, resource, identifier, parameters, locale ); } }
@Override public R build() { return adapter.callbackPatchAdaptee( adaptee, resource, identifier ); }
@Override public T execute( Map<String, Object> parameters, Locale locale ) { if ( remoteRequest == null ) { try { return resource.newInstance(); } catch ( InstantiationException | IllegalAccessException e ) { throw new ClientErrorException( 400, e.getMessage() ); } } return adapter.callbackNewInstance( adaptee, remoteRequest, resource, parameters, locale ); } }
checkNotNull( identifier ); Class<?> remoteResource = evaluateRemoteResource( resource.getClass() ); Object source; UpdateExecutorAdaptee<Object> adaptee = adaptee( UpdateExecutorAdaptee.class, resource.getClass() ); Object remoteRequest; try
@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> SingleRequest<T> delete( @Nonnull Class<T> resource, @Nonnull String identifier ) { return delete( resource, new Identifier( identifier ) ); }
checkNotNull( identifier ); Class<?> remoteResource = evaluateRemoteResource( resource.getClass() ); Object source; PatchExecutorAdaptee adaptee = adaptee( PatchExecutorAdaptee.class, responseType ); Object remoteRequest; try
@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> SingleRequest<T> get( @Nonnull Class<T> resource, @Nonnull Identifier identifier ) { checkNotNull( resource ); checkNotNull( identifier ); GetExecutorAdaptee adaptee = adaptee( GetExecutorAdaptee.class, resource ); Object remoteRequest; try { //noinspection unchecked remoteRequest = adaptee.prepareGet( identifier ); } catch ( IOException e ) { throw new ClientErrorException( 400, e.getMessage() ); } return new GetRequest<>( resource, identifier, this, adaptee, remoteRequest ); }
@Override @SuppressWarnings( "unchecked" ) public <T> SingleRequest<T> delete( @Nonnull Class<T> resource, @Nonnull Identifier identifier ) { checkNotNull( resource ); checkNotNull( identifier ); DeleteExecutorAdaptee adaptee = adaptee( DeleteExecutorAdaptee.class, resource ); Object remoteRequest; try { remoteRequest = adaptee.prepareDelete( identifier ); } catch ( IOException e ) { throw new ClientErrorException( 400, e.getMessage() ); } return ( SingleRequest ) new DeleteRequest( resource, identifier, this, adaptee, remoteRequest ); }