@Override protected IParsedCode getNotSupportedCode(IOpenSourceCodeModule source, String sourceType) { String message = String.format(".xls files can not be parsed as %s", sourceType); return getInvalidCode(message, source); } }
private List<XlsTable> load(IOpenSourceCodeModule src) { UserContext ucxt = new UserContext(Thread.currentThread().getContextClassLoader(), "."); IParsedCode pc = new XlsParser(ucxt).parseAsModule(src); IBoundCode bc = new XlsBinder(ucxt).bind(pc); IOpenClass ioc = bc.getTopNode().getType(); XlsMetaInfo xmi = (XlsMetaInfo) ioc.getMetaInfo(); XlsModuleSyntaxNode xsn = xmi.getXlsModuleNode(); TableSyntaxNode[] nodes = xsn.getXlsTableSyntaxNodes(); List<XlsTable> tables = new ArrayList<>(nodes.length); for (TableSyntaxNode node : nodes) { tables.add(new XlsTable(node)); } return tables; }
protected IOpenParser createParser() { return new XlsParser(getUserEnvironmentContext()); } }