本文整理了Java中jadex.commons.future.Future
类的一些代码示例,展示了Future
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Future
类的具体详情如下:
包路径:jadex.commons.future.Future
类名称:Future
[英]Future that includes mechanisms for callback notification. This allows a caller to decide if a) a blocking call to get() should be used b) a callback shall be invoked
[中]未来,包括回调通知机制。这允许调用方决定a)是否应使用对get()的阻塞调用b)是否应调用回调
代码示例来源:origin: org.activecomponents.jadex/jadex-applications-bdiv3
public Mood setSlogan(final String slogan)
{
final Future<Mood> ret = new Future<Mood>();
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
calls.add(ret);
slogantf.setText(""+slogan);
}
});
return ret.get();
}
}
代码示例来源:origin: org.activecomponents.jadex/jadex-applications-bdiv3
@AgentCreated
public void init()
{
Future<String> fut = new Future<String>();
fut.addResultListener(new IResultListener<String>()
{
public void resultAvailable(String message)
{
ack = message;
// setAck(message);
}
public void exceptionOccurred(Exception exception)
{
exception.printStackTrace();
}
});
fut.setResult("hello");
}
代码示例来源:origin: org.activecomponents.jadex/jadex-bridge
public void exceptionOccurred(Exception exception)
{
ret.setException(exception);
}
});
代码示例来源:origin: net.sourceforge.jadex/jadex-bridge
public void exceptionOccurred(Exception exception)
{
// if(type.toString().indexOf("IFile")!=-1)
// System.out.println("Ex result: "+exception);
if(!ret.isDone())
{
ret.setException(exception);
}
}
});
代码示例来源:origin: org.activecomponents.jadex/jadex-commons
public <T> IFuture<T> thenCompose(final Function<? super E, IFuture<T>> function, Class<?> futuretype)
{
final Future<T> ret = getFuture(futuretype);
this.addResultListener(new ExceptionDelegationResultListener<E, T>(ret)
{
public void customResultAvailable(E result)
{
IFuture<T> res = function.apply(result);
res.addResultListener(SResultListener.delegate(ret));
}
});
return ret;
}
代码示例来源:origin: org.activecomponents.jadex/jadex-platform
protected void checkFinish()
{
if(ongoing==0 && finished && !ret.isDone())
{
ret.setExceptionIfUndone(new SecurityException("Unable to retrieve certificate: "+name));
}
}
});
代码示例来源:origin: org.activecomponents.jadex/jadex-platform
public IFuture<Void> execute(IInternalAccess ia)
{
final Future<Void> ret = new Future<Void>();
try
{
AbstractSendTask task = createTask(StreamSendTask.ALIVE, null, null, null);
sendTask(task);
task.getFuture().addResultListener(new DelegationResultListener<Void>(ret));
}
catch(Exception e)
{
ret.setException(e);
}
return ret;
}
});
代码示例来源:origin: org.activecomponents.jadex/jadex-commons
/**
* Get the empty future of some type.
* @return The empty future.
*/
public static <T> IFuture<T> getEmptyFuture()
{
return new Future<T>((T)null);
}
代码示例来源:origin: org.activecomponents.jadex/jadex-bridge
public IFuture<Void> execute(IInternalAccess ia)
{
ret.setResult(null);
return IFuture.DONE;
}
});
代码示例来源:origin: org.activecomponents.jadex/jadex-applications-micro
/**
* Block until the given time has passed.
*/
public IFuture<Void> block(long millis)
{
Future<Void> ret = new Future<Void>();
if(millis>0)
{
agent.getComponentFeature(IExecutionFeature.class).waitForDelay(millis).get();
ret.setResult(null);
}
else
{
// do not set result at all and block forever
ret.get();
}
return ret;
}
}
代码示例来源:origin: net.sourceforge.jadex/jadex-platform
public void customResultAvailable(Boolean res)
{
if(res.booleanValue())
{
ret.setResult(componentfactory);
}
else
{
ret.setException(new ComponentCreationException("No factory found for: "+model, ComponentCreationException.REASON_NO_COMPONENT_FACTORY));
}
}
}));
代码示例来源:origin: org.activecomponents.jadex/jadex-applications-bdi
/**
* Get the item catalog.
* @return The catalog.
*/
public IFuture<ItemInfo[]> getCatalog()
{
IBDIXAgentFeature capa = comp.getComponentFeature(IBDIXAgentFeature.class);
final Future<ItemInfo[]> ret = new Future<ItemInfo[]>();
ret.setResult((ItemInfo[])capa.getBeliefbase().getBeliefSet("catalog").getFacts());
return ret;
}
代码示例来源:origin: org.activecomponents.jadex/jadex-commons
public void resultAvailable(E result)
{
synchronized(resultIndicator) {
if (!resultIndicator.isDone()) {
resultIndicator.setResult(null);
action.accept(result);
ret.setResult(null);
}
}
}
代码示例来源:origin: net.sourceforge.jadex/jadex-platform-base
public void run()
{
if(!ret.isDone())
{
try
{
transport.getConnectionManager().ping(adr);
ret.setResultIfUndone(adr);
}
catch(Exception e)
{
crl.exceptionOccurred(e);
}
}
}
});
代码示例来源:origin: org.activecomponents.jadex/jadex-platform
public void exceptionOccurred(Exception exception)
{
if(!found)
ret.setExceptionIfUndone(exception);
}
});
代码示例来源:origin: org.activecomponents.jadex/jadex-commons
/**
* Add an functional result listener, which is only called on success.
* Exceptions will be handled by DefaultResultListener.
*
* @param sucListener The listener.
*/
public void addResultListener(IFunctionalResultListener<E> sucListener)
{
addResultListener(sucListener, null);
}
代码示例来源:origin: org.activecomponents.jadex/jadex-kernel-bdiv3
public void resultAvailable(Object result)
{
if(partfuture==ret)
{
partfuture = null;
}
ret.setResultIfUndone(result);
}
代码示例来源:origin: org.activecomponents.jadex/jadex-platform
@Override
public void run()
{
try
{
ret.setResultIfUndone(doGetPeerServers(peeraddress, ownaddress, ownid, dbstate, initial));
}
catch(Exception e)
{
ret.setExceptionIfUndone(e);
}
}
});
代码示例来源:origin: net.sourceforge.jadex/jadex-bridge
public IFuture<Void> execute(IInternalAccess ia)
{
if(!ret.isDone())
{
ret.sendForwardCommand(IForwardCommandFuture.Type.UPDATETIMER);
ia.waitForDelay(w, this, realtime);
}
return IFuture.DONE;
}
};
代码示例来源:origin: org.activecomponents.jadex/jadex-commons
/**
* Get the result - blocking call.
* @param timeout The timeout in millis.
* @return The future result.
*/
public E get(long timeout)
{
// Default for realtime is false because normally waits should
// use the kind of wait of the internal clock. Outbound calls
// might use explicitly realtime to avoid immediate simulation timeouts.
return get(timeout, false);
}
内容来源于网络,如有侵权,请联系作者删除!