private <A> A adaptee( Class<A> adapteeType, Class<?> resource ) { Class<?> remoteResource = evaluateRemoteResource( resource ); A adaptee = injector.getExecutorAdaptee( adapteeType, remoteResource ); if ( adaptee == null && remoteResource == resource ) { String msg = "Missing binding between adaptee and resource: " + adapteeType.getSimpleName() + "<" + resource.getName() + ">"; throw new NotFoundException( msg ); } if ( adaptee == null ) { String msg = "Missing binding between adaptee and remote resource: " + adapteeType.getSimpleName() + "<" + remoteResource.getName() + ">. The remote resource " + remoteResource.getName() + " is being mapped to " + resource.getName() + "."; throw new NotFoundException( msg ); } return adaptee; } }
checkNotNull( identifier ); Class<?> remoteResource = evaluateRemoteResource( resource.getClass() ); Object source;
<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 ); }
checkNotNull( identifier ); Class<?> remoteResource = evaluateRemoteResource( resource.getClass() ); Object source;