private XmlElement generateInsertColumnSelective(List<IntrospectedColumn> columns) {
        XmlElement insertColumnsChooseEle = new XmlElement("choose");

        XmlElement insertWhenEle = new XmlElement("when");
        insertWhenEle.addAttribute(new Attribute("test", "selective != null and selective.length > 0"));
        insertColumnsChooseEle.addElement(insertWhenEle);

        XmlElement insertForeachEle = new XmlElement("foreach");
        insertForeachEle.addAttribute(new Attribute("collection", "selective"));
        insertForeachEle.addAttribute(new Attribute("item", "column"));
        insertForeachEle.addAttribute(new Attribute("open", "("));
        insertForeachEle.addAttribute(new Attribute("separator", ","));
        insertForeachEle.addAttribute(new Attribute("close", ")"));
        insertForeachEle.addElement(new TextElement("${column.escapedColumnName}"));
        insertWhenEle.addElement(insertForeachEle);

        XmlElement insertOtherwiseEle = new XmlElement("otherwise");
        insertOtherwiseEle.addElement(XmlElementGeneratorTools.generateKeysSelective(columns, "record."));
        insertColumnsChooseEle.addElement(insertOtherwiseEle);

        XmlElement insertTrimElement = new XmlElement("trim");
        insertTrimElement.addAttribute(new Attribute("prefix", "("));
        insertTrimElement.addAttribute(new Attribute("suffix", ")"));
        insertTrimElement.addAttribute(new Attribute("suffixOverrides", ","));
        insertOtherwiseEle.addElement(insertTrimElement);

        return insertColumnsChooseEle;
    }
private XmlElement generateInsertColumnSelective(List<IntrospectedColumn> columns) {
        XmlElement insertColumnsChooseEle = new XmlElement("choose");

        XmlElement insertWhenEle = new XmlElement("when");
        insertWhenEle.addAttribute(new Attribute("test", "selective != null and selective.length > 0"));
        insertColumnsChooseEle.addElement(insertWhenEle);

        XmlElement insertForeachEle = new XmlElement("foreach");
        insertForeachEle.addAttribute(new Attribute("collection", "selective"));
        insertForeachEle.addAttribute(new Attribute("item", "column"));
        insertForeachEle.addAttribute(new Attribute("open", "("));
        insertForeachEle.addAttribute(new Attribute("separator", ","));
        insertForeachEle.addAttribute(new Attribute("close", ")"));
        insertForeachEle.addElement(new TextElement("${column.escapedColumnName}"));
        insertWhenEle.addElement(insertForeachEle);

        XmlElement insertOtherwiseEle = new XmlElement("otherwise");
        insertOtherwiseEle.addElement(XmlElementGeneratorTools.generateKeysSelective(columns, "record."));
        insertColumnsChooseEle.addElement(insertOtherwiseEle);

        XmlElement insertTrimElement = new XmlElement("trim");
        insertTrimElement.addAttribute(new Attribute("prefix", "("));
        insertTrimElement.addAttribute(new Attribute("suffix", ")"));
        insertTrimElement.addAttribute(new Attribute("suffixOverrides", ","));
        insertOtherwiseEle.addElement(insertTrimElement);

        return insertColumnsChooseEle;
    }
private XmlElement generateInsertColumnSelective ( List < IntrospectedColumn > columns ) { XmlElement insertColumnsChooseEle = new XmlElement ( "choose" ) ; XmlElement insertWhenEle = new XmlElement ( "when" ) ; insertWhenEle . addAttribute ( new Attribute ( "test" , "selective != null and selective.length > 0" ) ) ; insertColumnsChooseEle . addElement ( insertWhenEle ) ; XmlElement insertForeachEle = new XmlElement ( "foreach" ) ; insertForeachEle . addAttribute ( new Attribute ( "collection" , "selective" ) ) ; insertForeachEle . addAttribute ( new Attribute ( "item" , "column" ) ) ; insertForeachEle . addAttribute ( new Attribute ( "open" , "(" ) ) ; insertForeachEle . addAttribute ( new Attribute ( "separator" , "," ) ) ; insertForeachEle . addAttribute ( new Attribute ( "close" , ")" ) ) ; insertForeachEle . addElement ( new TextElement ( "${column.escapedColumnName}" ) ) ; insertWhenEle . addElement ( insertForeachEle ) ; XmlElement insertOtherwiseEle = new XmlElement ( "otherwise" ) ; insertOtherwiseEle . addElement ( XmlElementGeneratorTools . generateKeysSelective ( columns , "record." ) ) ; insertColumnsChooseEle . addElement ( insertOtherwiseEle ) ; XmlElement insertTrimElement = new XmlElement ( "trim" ) ; insertTrimElement . addAttribute ( new Attribute ( "prefix" , "(" ) ) ; insertTrimElement . addAttribute ( new Attribute ( "suffix" , ")" ) ) ; insertTrimElement . addAttribute ( new Attribute ( "suffixOverrides" , "," ) ) ; insertOtherwiseEle . addElement ( insertTrimElement ) ; return insertColumnsChooseEle ; }
insert column selective
@param columns
@return
insert column selective