package org.develnext.jphp.ext.jsoup.classes;
import org.develnext.jphp.ext.jsoup.JsoupExtension;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import php.runtime.Memory;
import php.runtime.annotation.Reflection;
import php.runtime.annotation.Reflection.Namespace;
import php.runtime.env.Environment;
import php.runtime.ext.core.classes.stream.Stream;
import php.runtime.lang.BaseObject;
import php.runtime.reflection.ClassEntity;
import java.io.IOException;
import java.io.InputStream;
import static php.runtime.annotation.Reflection.Name;
import static php.runtime.annotation.Reflection.Signature;
@Name("Jsoup")
@Namespace(JsoupExtension.NS)
final public class WrapJsoup extends BaseObject {
public WrapJsoup(Environment env, ClassEntity clazz) {
super(env, clazz);
}
@Signature
private void __construct() {
// nop.
}
@Signature
public static Connection connect(String url) {
return Jsoup.connect(url);
}
@Signature
public static Document parse(Environment env, Memory source, String encoding, String baseUri) throws IOException {
InputStream is = Stream.getInputStream(env, source);
try {
return Jsoup.parse(is, encoding, baseUri);
} finally {
Stream.closeStream(env, is);
}
}
@Signature
public static Document parseText(String text) {
return Jsoup.parse(text);
}
@Signature
public static Document parseText(String text, String baseUri) {
return Jsoup.parse(text, baseUri);
}
}