本文整理汇总了Java中jdk.nashorn.internal.runtime.events.RuntimeEvent类的典型用法代码示例。如果您正苦于以下问题:Java RuntimeEvent类的具体用法?Java RuntimeEvent怎么用?Java RuntimeEvent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
RuntimeEvent类属于jdk.nashorn.internal.runtime.events包,在下文中一共展示了RuntimeEvent类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: expandEventQueueCapacity
import jdk.nashorn.internal.runtime.events.RuntimeEvent; //导入依赖的package包/类
/**
* Expands the event queue capacity, or truncates if capacity is lower than
* current capacity. Then only the newest entries are kept
* @param self self reference
* @param newCapacity new capacity
*/
@Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR)
public static void expandEventQueueCapacity(final Object self, final Object newCapacity) {
final LinkedList<RuntimeEvent<?>> q = getEventQueue(self);
final int nc = JSType.toInt32(newCapacity);
while (q.size() > nc) {
q.removeFirst();
}
setEventQueueCapacity(self, nc);
}
示例2: addRuntimeEvent
import jdk.nashorn.internal.runtime.events.RuntimeEvent; //导入依赖的package包/类
/**
* Add a runtime event to the runtime event queue. The queue has a fixed
* size {@link RuntimeEvent#RUNTIME_EVENT_QUEUE_SIZE} and the oldest
* entry will be thrown out of the queue is about to overflow
* @param self self reference
* @param event event to add
*/
@Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR)
public static void addRuntimeEvent(final Object self, final Object event) {
final LinkedList<RuntimeEvent<?>> q = getEventQueue(self);
final int cap = (Integer)getEventQueueCapacity(self);
while (q.size() >= cap) {
q.removeFirst();
}
q.addLast(getEvent(event));
}
示例3: getEventQueueCapacity
import jdk.nashorn.internal.runtime.events.RuntimeEvent; //导入依赖的package包/类
/**
* Get the capacity of the event queue
* @param self self reference
* @return capacity of event queue as an integer
*/
@Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR)
public static Object getEventQueueCapacity(final Object self) {
final ScriptObject sobj = (ScriptObject)self;
Integer cap;
if (sobj.has(EVENT_QUEUE_CAPACITY)) {
cap = JSType.toInt32(sobj.get(EVENT_QUEUE_CAPACITY));
} else {
setEventQueueCapacity(self, cap = RuntimeEvent.RUNTIME_EVENT_QUEUE_SIZE);
}
return cap;
}
示例4: removeRuntimeEvent
import jdk.nashorn.internal.runtime.events.RuntimeEvent; //导入依赖的package包/类
/**
* Remove a specific runtime event from the event queue
* @param self self reference
* @param event event to remove
*/
@Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR)
public static void removeRuntimeEvent(final Object self, final Object event) {
final LinkedList<RuntimeEvent<?>> q = getEventQueue(self);
final RuntimeEvent<?> re = getEvent(event);
if (!q.remove(re)) {
throw new IllegalStateException("runtime event " + re + " was not in event queue");
}
}
示例5: getEventQueue
import jdk.nashorn.internal.runtime.events.RuntimeEvent; //导入依赖的package包/类
@SuppressWarnings("unchecked")
private static LinkedList<RuntimeEvent<?>> getEventQueue(final Object self) {
final ScriptObject sobj = (ScriptObject)self;
LinkedList<RuntimeEvent<?>> q;
if (sobj.has(EVENT_QUEUE)) {
q = (LinkedList<RuntimeEvent<?>>)((ScriptObject)self).get(EVENT_QUEUE);
} else {
((ScriptObject)self).set(EVENT_QUEUE, q = new LinkedList<>(), NashornCallSiteDescriptor.CALLSITE_STRICT);
}
return q;
}
示例6: logEvent
import jdk.nashorn.internal.runtime.events.RuntimeEvent; //导入依赖的package包/类
private static void logEvent(final RuntimeEvent<?> event) {
if (event != null) {
final Global global = Context.getGlobal();
if (global.has("Debug")) {
final ScriptObject debug = (ScriptObject)global.get("Debug");
final ScriptFunction addRuntimeEvent = (ScriptFunction)debug.get("addRuntimeEvent");
ScriptRuntime.apply(addRuntimeEvent, debug, event);
}
}
}
示例7: clearRuntimeEvents
import jdk.nashorn.internal.runtime.events.RuntimeEvent; //导入依赖的package包/类
/**
* Clear the runtime event queue
* @param self self reference
*/
@Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR)
public static void clearRuntimeEvents(final Object self) {
final LinkedList<RuntimeEvent<?>> q = getEventQueue(self);
q.clear();
}
示例8: getLastRuntimeEvent
import jdk.nashorn.internal.runtime.events.RuntimeEvent; //导入依赖的package包/类
/**
* Return the last runtime event in the queue
* @param self self reference
* @return the freshest event, null if queue is empty
*/
@Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR)
public static Object getLastRuntimeEvent(final Object self) {
final LinkedList<RuntimeEvent<?>> q = getEventQueue(self);
return q.isEmpty() ? null : q.getLast();
}