package perl5.lib ;
import perl5.* ;
public class XMLSmart {
SV XML ;
static {
if ( !Perl.use("XML::Smart") ) {
System.err.println("XMLSmart - Error on loading Perl library:\n" + Perl.error() );
}
}
public XMLSmart() {
XML = Perl.NEW("XML::Smart") ;
Perl.dump_error() ;
}
public XMLSmart(SV sv) {
XML = sv ;
}
public XMLSmart(String xml) {
XML = Perl.NEW("XML::Smart" , Perl.quoteit(xml) ) ;
Perl.dump_error() ;
}
public XMLSmart(String xml , String args) {
XML = Perl.NEW("XML::Smart" , Perl.quoteit(xml) + "," + args) ;
Perl.dump_error() ;
}
/////////////////////////////////////////////////////////////////////////////
public XMLSmart key(String k) {
return new XMLSmart( XML.key_sv(k) ) ;
}
public XMLSmart k(String k) { return key(k) ;}
public XMLSmart elem(int x) {
return new XMLSmart( XML.elem_sv(x) ) ;
}
public XMLSmart e(int x) { return elem(x) ;}
public int size() { return XML.size() ;}
/////////////////////////////////////////////////////////////////////////////
public XMLSmart get(String path) { return new XMLSmart( XML.get_sv(path) ) ;}
/////////////////////////////////////////////////////////////////////////////
public XMLSmart set(String path , String args) { return new XMLSmart( XML.set_sv(path,args) ) ;}
/////////////////////////////////////////////////////////////////////////////
public String data() { return XML.call("data") ;}
public String data_pointer() { return XML.call("data_pointer") ;}
public String save(String path) { return XML.call("save" , Perl.quoteit(path) ) ;}
/////////////////////////////////////////////////////////////////////////////
public String dump_tree() { return XML.call("dump_tree") ;}
public String dump_tree_pointer() { return XML.call("dump_tree_pointer") ;}
/////////////////////////////////////////////////////////////////////////////
public SV SV() { return XML ;}
public String Str() { return XML.Str() ;}
public String str() { return Str() ;}
public int Int() { return Perl.Str2Int( XML.Str() ) ;}
public boolean Bool() { return (XML.Str().equals("0") || XML.Str().equals("")) ? false : true ;}
/////////////////////////////////////////////////////////////////////////////
public String toString() { return XML.Str() ;}
public static String toString(XMLSmart xml) { return xml.Str() ;}
}