package com.abmash.core.browser; import java.util.List; import java.util.Map; import org.openqa.selenium.WebElement; public class JavaScriptResult { private Object returnValue = null; public JavaScriptResult(Object returnValue) { this.returnValue = returnValue; } public Boolean isNull() { return returnValue == null; } public Object getReturnValue() { return returnValue; } public Class<? extends Object> getReturnValueClass() { return returnValue.getClass(); } public Boolean hasAdequateReturnValue() { // TODO other return values if(returnValue instanceof WebElement) { return true; } if(returnValue instanceof Double) { return (Double) returnValue != 0.0; } if(returnValue instanceof Long) { return (Long) returnValue != 0; } if(returnValue instanceof Boolean) { return (Boolean) returnValue; } if(returnValue instanceof String) { return !((String) returnValue).equals(""); } if(returnValue instanceof List<?>) { return !((List<?>) returnValue).isEmpty(); } if(returnValue instanceof Map<?,?>) { return !((Map<?,?>) returnValue).isEmpty(); } return false; } }