Skip to content

Commit

Permalink
Make V8.checkThread static
Browse files Browse the repository at this point in the history
Since J2V8 uses only a single thread, checkThread was made static. The
method is static so even static V8 methods (such as enabling Debug
support) can check that the proper thread is being used.
  • Loading branch information
irbull committed Sep 3, 2014
1 parent 143f518 commit 10a81cf
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 44 deletions.
2 changes: 1 addition & 1 deletion src/main/java/com/eclipsesource/v8/V8.java
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ public void executeVoidScript(final String script) throws V8RuntimeException {
_executeVoidScript(v8RuntimeHandle, script);
}

void checkThread() {
static void checkThread() {
if (thread != Thread.currentThread()) {
throw new Error("Invalid V8 thread access.");
}
Expand Down
32 changes: 16 additions & 16 deletions src/main/java/com/eclipsesource/v8/V8Array.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,50 +10,50 @@ public class V8Array {

public V8Array(final V8 v8) {
this.v8 = v8;
this.v8.checkThread();
V8.checkThread();
arrayHandle = v8ArrayInstanceCounter++;
this.v8._initNewV8Array(v8.getV8RuntimeHandle(), arrayHandle);
this.v8.addObjRef();
}

public void release() {
v8.checkThread();
V8.checkThread();
v8._releaseArray(v8.getV8RuntimeHandle(), arrayHandle);
v8.releaseObjRef();
}

public int getSize() {
v8.checkThread();
V8.checkThread();
return v8._arrayGetSize(v8.getV8RuntimeHandle(), getHandle());
}

public int getType(final int index) {
v8.checkThread();
V8.checkThread();
return v8._getType(v8.getV8RuntimeHandle(), getHandle(), index);
}

public int getInteger(final int index) {
v8.checkThread();
V8.checkThread();
return v8._arrayGetInteger(v8.getV8RuntimeHandle(), getHandle(), index);
}

public boolean getBoolean(final int index) {
v8.checkThread();
V8.checkThread();
return v8._arrayGetBoolean(v8.getV8RuntimeHandle(), getHandle(), index);
}

public double getDouble(final int index) {
v8.checkThread();
V8.checkThread();
return v8._arrayGetDouble(v8.getV8RuntimeHandle(), getHandle(), index);
}

public String getString(final int index) {
v8.checkThread();
V8.checkThread();
return v8._arrayGetString(v8.getV8RuntimeHandle(), getHandle(), index);
}

public V8Array getArray(final int index) {
v8.checkThread();
V8.checkThread();
V8Array result = new V8Array(v8);
try {
v8._arrayGetArray(v8.getV8RuntimeHandle(), getHandle(), index, result.getHandle());
Expand All @@ -65,7 +65,7 @@ public V8Array getArray(final int index) {
}

public V8Object getObject(final int index) {
v8.checkThread();
V8.checkThread();
V8Object result = new V8Object(v8);
try {
v8._arrayGetObject(v8.getV8RuntimeHandle(), getHandle(), index, result.getHandle());
Expand All @@ -77,32 +77,32 @@ public V8Object getObject(final int index) {
}

public void add(final int value) {
v8.checkThread();
V8.checkThread();
v8._addArrayIntItem(v8.getV8RuntimeHandle(), getHandle(), value);
}

public void add(final boolean value) {
v8.checkThread();
V8.checkThread();
v8._addArrayBooleanItem(v8.getV8RuntimeHandle(), getHandle(), value);
}

public void add(final double value) {
v8.checkThread();
V8.checkThread();
v8._addArrayDoubleItem(v8.getV8RuntimeHandle(), getHandle(), value);
}

public void add(final String value) {
v8.checkThread();
V8.checkThread();
v8._addArrayStringItem(v8.getV8RuntimeHandle(), getHandle(), value);
}

public void add(final V8Object value) {
v8.checkThread();
V8.checkThread();
v8._addArrayObjectItem(v8.getV8RuntimeHandle(), getHandle(), value.getHandle());
}

public void add(final V8Array value) {
v8.checkThread();
V8.checkThread();
v8._addArrayArrayItem(v8.getV8RuntimeHandle(), getHandle(), value.getHandle());
}

Expand Down
54 changes: 27 additions & 27 deletions src/main/java/com/eclipsesource/v8/V8Object.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ protected V8Object() {

public V8Object(final V8 v8) {
this.v8 = v8;
this.v8.checkThread();
V8.checkThread();
objectHandle = v8ObjectInstanceCounter++;
this.v8._initNewV8Object(v8.getV8RuntimeHandle(), objectHandle);
this.v8.addObjRef();
Expand All @@ -36,48 +36,48 @@ public int getHandle() {
}

public void release() {
v8.checkThread();
V8.checkThread();
v8._release(v8.getV8RuntimeHandle(), objectHandle);
v8.releaseObjRef();
}

public boolean contains(final String key) {
v8.checkThread();
V8.checkThread();
return v8._contains(v8.getV8RuntimeHandle(), objectHandle, key);
}

public String[] getKeys() {
v8.checkThread();
V8.checkThread();
return v8._getKeys(v8.getV8RuntimeHandle(), objectHandle);
}

public int getType(final String key) throws V8ResultUndefined {
v8.checkThread();
V8.checkThread();
return v8._getType(v8.getV8RuntimeHandle(), objectHandle, key);
}

public int getInteger(final String key) throws V8ResultUndefined {
v8.checkThread();
V8.checkThread();
return v8._getInteger(v8.getV8RuntimeHandle(), objectHandle, key);
}

public boolean getBoolean(final String key) throws V8ResultUndefined {
v8.checkThread();
V8.checkThread();
return v8._getBoolean(v8.getV8RuntimeHandle(), objectHandle, key);
}

public double getDouble(final String key) throws V8ResultUndefined {
v8.checkThread();
V8.checkThread();
return v8._getDouble(v8.getV8RuntimeHandle(), objectHandle, key);
}

public String getString(final String key) throws V8ResultUndefined {
v8.checkThread();
V8.checkThread();
return v8._getString(v8.getV8RuntimeHandle(), objectHandle, key);
}

public V8Array getArray(final String key) throws V8ResultUndefined {
v8.checkThread();
V8.checkThread();
V8Array result = new V8Array(v8);
try {
v8._getArray(v8.getV8RuntimeHandle(), getHandle(), key, result.getHandle());
Expand All @@ -89,7 +89,7 @@ public V8Array getArray(final String key) throws V8ResultUndefined {
}

public V8Object getObject(final String key) throws V8ResultUndefined {
v8.checkThread();
V8.checkThread();
V8Object result = new V8Object(v8);
try {
v8._getObject(v8.getV8RuntimeHandle(), objectHandle, key, result.getHandle());
Expand All @@ -101,37 +101,37 @@ public V8Object getObject(final String key) throws V8ResultUndefined {
}

public V8Array createParameterList(final int size) {
v8.checkThread();
V8.checkThread();
return null;
}

public int executeIntFunction(final String name, final V8Array parameters) throws V8ExecutionException, V8ResultUndefined {
v8.checkThread();
V8.checkThread();
int parametersHandle = parameters == null ? -1 : parameters.getHandle();
return v8._executeIntFunction(v8.getV8RuntimeHandle(), getHandle(), name, parametersHandle);
}

public double executeDoubleFunction(final String name, final V8Array parameters) throws V8ExecutionException, V8ResultUndefined {
v8.checkThread();
V8.checkThread();
int parametersHandle = parameters == null ? -1 : parameters.getHandle();
return v8._executeDoubleFunction(v8.getV8RuntimeHandle(), getHandle(), name, parametersHandle);
}

public String executeStringFunction(final String name, final V8Array parameters) throws V8ExecutionException, V8ResultUndefined {
v8.checkThread();
V8.checkThread();
int parametersHandle = parameters == null ? -1 : parameters.getHandle();
return v8._executeStringFunction(v8.getV8RuntimeHandle(), getHandle(), name, parametersHandle);
}

public boolean executeBooleanFunction(final String name, final V8Array parameters) throws V8ExecutionException,
V8ResultUndefined {
v8.checkThread();
V8.checkThread();
int parametersHandle = parameters == null ? -1 : parameters.getHandle();
return v8._executeBooleanFunction(v8.getV8RuntimeHandle(), getHandle(), name, parametersHandle);
}

public V8Array executeArrayFunction(final String name, final V8Array parameters) throws V8ExecutionException, V8ResultUndefined {
v8.checkThread();
V8.checkThread();
V8Array result = new V8Array(v8);
try {
int parametersHandle = parameters == null ? -1 : parameters.getHandle();
Expand All @@ -146,7 +146,7 @@ public V8Array executeArrayFunction(final String name, final V8Array parameters)

public V8Object executeObjectFunction(final String name, final V8Array parameters) throws V8ExecutionException,
V8ResultUndefined {
v8.checkThread();
V8.checkThread();
V8Object result = new V8Object(v8);
try {
int parametersHandle = parameters == null ? -1 : parameters.getHandle();
Expand All @@ -159,48 +159,49 @@ public V8Object executeObjectFunction(final String name, final V8Array parameter
}

public void executeVoidFunction(final String name, final V8Array parameters) throws V8ExecutionException {
v8.checkThread();
V8.checkThread();
int parametersHandle = parameters == null ? -1 : parameters.getHandle();
v8._executeVoidFunction(v8.getV8RuntimeHandle(), objectHandle, name, parametersHandle);
}

public void add(final String key, final int value) {
v8.checkThread();
V8.checkThread();
v8._add(v8.getV8RuntimeHandle(), objectHandle, key, value);
}

public void add(final String key, final boolean value) {
v8.checkThread();
V8.checkThread();
v8._add(v8.getV8RuntimeHandle(), objectHandle, key, value);
}

public void add(final String key, final double value) {
v8.checkThread();
V8.checkThread();
v8._add(v8.getV8RuntimeHandle(), objectHandle, key, value);
}

public void add(final String key, final String value) {
v8.checkThread();
V8.checkThread();
v8._add(v8.getV8RuntimeHandle(), objectHandle, key, value);
}

public void add(final String key, final V8Object value) {
v8.checkThread();
V8.checkThread();
v8._addObject(v8.getV8RuntimeHandle(), objectHandle, key, value.getHandle());
}

public void add(final String key, final V8Array value) {
v8.checkThread();
V8.checkThread();
v8._addArray(v8.getV8RuntimeHandle(), objectHandle, key, value.getHandle());
}

public void setPrototype(final V8Object value) {
v8.checkThread();
V8.checkThread();
v8._setPrototype(v8.getV8RuntimeHandle(), objectHandle, value.getHandle());
}

public void registerJavaMethod(final Object object, final String methodName, final String jsFunctionName,
final Class<?>[] parameterTypes) {
V8.checkThread();
try {
Method method = object.getClass().getMethod(methodName, parameterTypes);
v8.registerCallback(object, method, 0, getHandle(), jsFunctionName);
Expand All @@ -209,7 +210,6 @@ public void registerJavaMethod(final Object object, final String methodName, fin
} catch (SecurityException e) {
throw new IllegalStateException(e);
}
v8.checkThread();
}

}

0 comments on commit 10a81cf

Please sign in to comment.