public String getXML( int level ) throws KettleValueException {
String retval = "";
String indent1 = Const.rightPad( " ", level );
String indent2 = Const.rightPad( " ", level + 1 );
String indent3 = Const.rightPad( " ", level + 2 );
retval += indent1 + XMLHandler.openTag( XML_TAG ) + Const.CR;
retval += indent2 + XMLHandler.addTagValue( "negated", isNegated() );
if ( getOperator() != OPERATOR_NONE ) {
retval += indent2 + XMLHandler.addTagValue( "operator", Const.rtrim( getOperatorDesc() ) );
}
if ( isAtomic() ) {
retval += indent2 + XMLHandler.addTagValue( "leftvalue", getLeftValuename() );
retval += indent2 + XMLHandler.addTagValue( "function", getFunctionDesc() );
retval += indent2 + XMLHandler.addTagValue( "rightvalue", getRightValuename() );
if ( getRightExact() != null ) {
retval += indent2 + getRightExact().getXML();
}
} else {
retval += indent2 + "<conditions>" + Const.CR;
for ( int i = 0; i < nrConditions(); i++ ) {
Condition c = getCondition( i );
retval += c.getXML( level + 2 );
}
retval += indent3 + "</conditions>" + Const.CR;
}
retval += indent2 + XMLHandler.closeTag( XML_TAG ) + Const.CR;
return retval;
}