package org.timepedia.exporter.rebind; import com.google.gwt.core.ext.typeinfo.JArrayType; import com.google.gwt.core.ext.typeinfo.JType; import org.timepedia.exporter.client.ExporterUtil; /** * */ public class JExportableArrayType extends JExportableClassType implements JExportableType { public JExportableArrayType(ExportableTypeOracle exportableTypeOracle, JArrayType array) { super(exportableTypeOracle, array); this.exportableTypeOracle = exportableTypeOracle; this.array = array; } private ExportableTypeOracle exportableTypeOracle; private JArrayType array; public boolean needsExport() { return true; } public String getQualifiedSourceName() { return array.getQualifiedSourceName(); } @Override public String getWrapperFunc() { JType type = array.getComponentType(); return "@" + ExporterUtil.class.getName() + "::wrap([" + type.getJNISignature() + ")"; } public JExportableType getComponentType() { return exportableTypeOracle .findExportableType(array.getComponentType().getQualifiedSourceName()); } }