@Override public ImportStatement doParse( Element element, Statement[] parentPath, BeneratorParseContext context) { // check syntax assertAtLeastOneAttributeIsSet(element, ATT_DEFAULTS, ATT_DOMAINS, ATT_PLATFORMS, ATT_CLASS); // prepare parsing ArrayBuilder<String> classImports = new ArrayBuilder<String>(String.class); ArrayBuilder<String> domainImports = new ArrayBuilder<String>(String.class); // defaults import boolean defaults = ("true".equals(element.getAttribute("defaults"))); // check class import String attribute = element.getAttribute("class"); if (!StringUtil.isEmpty(attribute)) classImports.add(attribute); // (multiple) domain import attribute = element.getAttribute("domains"); if (!StringUtil.isEmpty(attribute)) domainImports.addAll(StringUtil.trimAll(StringUtil.tokenize(attribute, ','))); // (multiple) platform import attribute = element.getAttribute("platforms"); List<PlatformDescriptor> platformImports = null; if (!StringUtil.isEmpty(attribute)) platformImports = importPlatforms(StringUtil.trimAll(attribute.split(",")), context); return new ImportStatement( defaults, classImports.toArray(), domainImports.toArray(), platformImports); }