package com.dragome.web.config; import org.w3c.dom.html.HTMLCanvasElement; import com.dragome.web.enhancers.jsdelegate.DefaultDelegateStrategy; import com.dragome.web.enhancers.jsdelegate.interfaces.SubTypeFactory; public class DomHandlerDelegateStrategy extends DefaultDelegateStrategy { public String getSubTypeExtractorFor(Class<?> interface1, String methodName) { if (HTMLCanvasElement.class.isAssignableFrom(interface1) && methodName.equals("getContext")) return "$1"; else if (methodName.equals("item") || methodName.equals("cloneNode")) return "temp.nodeType"; return null; } public Class<? extends SubTypeFactory> getSubTypeFactoryClassFor(Class<?> interface1, String methodName) { if (methodName.equals("item") || methodName.equals("cloneNode")) return NodeSubTypeFactory.class; else if (HTMLCanvasElement.class.isAssignableFrom(interface1) && methodName.equals("getContext")) return ContextSubTypeFactory.class; return null; } }