public <T> T untilCall(T proxyMethodReturnValue, final Matcher<? super T> matcher) {
    """
	Specify the condition that must be met when waiting for a method call.
	E.g.
	<p>&nbsp;</p>
	<pre>
	await().untilCall(to(orderService).size(), is(greaterThan(2)));
	</pre>
	
	@param <T>     the generic type
	@param proxyMethodReturnValue  the return value of the method call
	@param matcher The condition that must be met when
	@return a T object.
	@throws org.awaitility.core.ConditionTimeoutException If condition was not fulfilled within the given time period.
    """
        if (!existInCP("java.util.ServiceLoader")) {
            throw new UnsupportedOperationException("java.util.ServiceLoader not found in classpath so cannot create condition");
        }
        ClassLoader cl = Thread.currentThread().getContextClassLoader();
        if (cl == null) {
            cl = ClassLoader.getSystemClassLoader();
        }
        Iterator<ProxyConditionFactory> iterator = java.util.ServiceLoader.load(ProxyConditionFactory.class, cl).iterator();
        if (!iterator.hasNext()) {
            throw new UnsupportedOperationException("There's currently no plugin installed that can handle proxy conditions, please consider adding 'awaitility-proxy' to the classpath. If using Maven you can do:" +
                    "<dependency>\n" +
                    "\t<groupId>org.awaitility</groupId>\n" +
                    "\t<artifactId>awaitility-proxy</artifactId>\n" +
                    "\t<version>${awaitility.version}</version>\n" +
                    "</dependency>\n");
        }
        @SuppressWarnings("unchecked") ProxyConditionFactory<T> factory = iterator.next();
        if (factory == null) {
            throw new IllegalArgumentException("Internal error: Proxy condition plugin initialization returned null, please report an issue.");
        }
        return until(factory.createProxyCondition(proxyMethodReturnValue, matcher, generateConditionSettings()));
    }
public <T> T untilCall(T proxyMethodReturnValue, final Matcher<? super T> matcher) {
        if (!existInCP("java.util.ServiceLoader")) {
            throw new UnsupportedOperationException("java.util.ServiceLoader not found in classpath so cannot create condition");
        }
        ClassLoader cl = Thread.currentThread().getContextClassLoader();
        if (cl == null) {
            cl = ClassLoader.getSystemClassLoader();
        }
        Iterator<ProxyConditionFactory> iterator = java.util.ServiceLoader.load(ProxyConditionFactory.class, cl).iterator();
        if (!iterator.hasNext()) {
            throw new UnsupportedOperationException("There's currently no plugin installed that can handle proxy conditions, please consider adding 'awaitility-proxy' to the classpath. If using Maven you can do:" +
                    "<dependency>\n" +
                    "\t<groupId>org.awaitility</groupId>\n" +
                    "\t<artifactId>awaitility-proxy</artifactId>\n" +
                    "\t<version>${awaitility.version}</version>\n" +
                    "</dependency>\n");
        }
        @SuppressWarnings("unchecked") ProxyConditionFactory<T> factory = iterator.next();
        if (factory == null) {
            throw new IllegalArgumentException("Internal error: Proxy condition plugin initialization returned null, please report an issue.");
        }
        return until(factory.createProxyCondition(proxyMethodReturnValue, matcher, generateConditionSettings()));
    }
public < T > T untilCall ( T proxyMethodReturnValue , final Matcher < ? super T > matcher ) { if ( ! existInCP ( "java.util.ServiceLoader" ) ) { throw new UnsupportedOperationException ( "java.util.ServiceLoader not found in classpath so cannot create condition" ) ; } ClassLoader cl = Thread . currentThread ( ) . getContextClassLoader ( ) ; if ( cl == null ) { cl = ClassLoader . getSystemClassLoader ( ) ; } Iterator < ProxyConditionFactory > iterator = java . util . ServiceLoader . load ( ProxyConditionFactory . class , cl ) . iterator ( ) ; if ( ! iterator . hasNext ( ) ) { throw new UnsupportedOperationException ( "There's currently no plugin installed that can handle proxy conditions, please consider adding 'awaitility-proxy' to the classpath. If using Maven you can do:" + "<dependency>\n" + "\t<groupId>org.awaitility</groupId>\n" + "\t<artifactId>awaitility-proxy</artifactId>\n" + "\t<version>${awaitility.version}</version>\n" + "</dependency>\n" ) ; } @ SuppressWarnings ( "unchecked" ) ProxyConditionFactory < T > factory = iterator . next ( ) ; if ( factory == null ) { throw new IllegalArgumentException ( "Internal error: Proxy condition plugin initialization returned null, please report an issue." ) ; } return until ( factory . createProxyCondition ( proxyMethodReturnValue , matcher , generateConditionSettings ( ) ) ) ; }
Specify the condition that must be met when waiting for a method call.
E.g.
<p>&nbsp;</p>
<pre>
await().untilCall(to(orderService).size(), is(greaterThan(2)));
</pre>

@param <T>     the generic type
@param proxyMethodReturnValue  the return value of the method call
@param matcher The condition that must be met when
@return a T object.
@throws org.awaitility.core.ConditionTimeoutException If condition was not fulfilled within the given time period.
Specify the condition that must be met when waiting for a method call . E . g . <p > &nbsp ; < / p > <pre > await () . untilCall ( to ( orderService ) . size () is ( greaterThan ( 2 ))) ; < / pre >