/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.eas.client.scripts;
import java.util.Collection;
import java.util.Set;
import jdk.nashorn.api.scripting.JSObject;
/**
*
* @author mg
*/
public class JSObjectFacade implements JSObject {
protected final JSObject delegate;
public JSObjectFacade(JSObject aDelegate) {
super();
assert !(aDelegate instanceof JSObjectFacade) : "Delegate is not allowed to be a JSObjectFacade instance.";
delegate = aDelegate;
}
public JSObject getDelegate() {
return delegate;
}
@Override
public Object call(Object thiz, Object... args) {
return delegate.call(thiz, args);
}
@Override
public Object newObject(Object... args) {
return delegate.newObject(args);
}
@Override
public Object eval(String s) {
return delegate.eval(s);
}
@Override
public Object getMember(String name) {
return delegate.getMember(name);
}
@Override
public Object getSlot(int index) {
return delegate.getSlot(index);
}
@Override
public boolean hasMember(String name) {
return delegate.hasMember(name);
}
@Override
public boolean hasSlot(int slot) {
return delegate.hasSlot(slot);
}
@Override
public void removeMember(String name) {
delegate.removeMember(name);
}
@Override
public void setMember(String name, Object value) {
delegate.setMember(name, value);
}
@Override
public void setSlot(int index, Object value) {
delegate.setSlot(index, value);
}
@Override
public Set<String> keySet() {
return delegate.keySet();
}
@Override
public Collection<Object> values() {
return delegate.values();
}
@Override
public boolean isInstance(Object instance) {
return delegate.isInstance(instance);
}
@Override
public boolean isInstanceOf(Object clazz) {
return delegate.isInstanceOf(clazz);
}
@Override
public String getClassName() {
return delegate.getClassName();
}
@Override
public boolean isFunction() {
return delegate.isFunction();
}
@Override
public boolean isStrictFunction() {
return delegate.isStrictFunction();
}
@Override
public boolean isArray() {
return delegate.isArray();
}
@Override
public double toNumber() {
return delegate.toNumber();
}
}