package org.develnext.jphp.ext.jsoup.classes;
import org.develnext.jphp.ext.jsoup.JsoupExtension;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import php.runtime.annotation.Reflection;
import php.runtime.annotation.Reflection.Abstract;
import php.runtime.annotation.Reflection.Namespace;
import php.runtime.annotation.Reflection.Signature;
import php.runtime.env.Environment;
import php.runtime.env.TraceInfo;
import php.runtime.lang.BaseWrapper;
import php.runtime.lang.support.ICloneableObject;
import php.runtime.reflection.ClassEntity;
import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;
import static php.runtime.annotation.Reflection.Name;
@Abstract
@Name("Element")
@Namespace(JsoupExtension.NS)
public class WrapElement extends BaseWrapper<Element> implements ICloneableObject<WrapElement> {
public WrapElement(Environment env, Element object) {
super(env, object);
}
public WrapElement(Environment env, ClassEntity clazz) {
super(env, clazz);
}
@Override
public WrapElement __clone(Environment environment, TraceInfo traceInfo) {
return new WrapElement(environment, __wrappedObject.clone());
}
@Signature
public String attr(String name) {
return getWrappedObject().attr(name);
}
@Signature
public void attr(String name, String value) {
getWrappedObject().attr(name, value);
}
@Signature
public String outerHtml() {
return getWrappedObject().outerHtml();
}
interface WrappedInterface {
String nodeName();
String tagName();
Element tagName(String tagName);
boolean isBlock();
String id();
Map<String, String> dataset();
Element parent();
Elements parents();
Element child(int index);
Elements children();
Elements select(String cssQuery);
Element appendElement(String tagName);
Element prependElement(String tagName);
Element appendText(String text);
Element prependText(String text);
Element append(String html);
Element prepend(String html);
Element before(String html);
Element after(String html);
Element empty();
Element wrap(String html);
String cssSelector();
Elements siblingElements();
Element nextElementSibling();
Element previousElementSibling();
Element firstElementSibling();
Element lastElementSibling();
Integer elementSiblingIndex();
Elements getElementsByTag(String tagName);
Element getElementById(String id);
Elements getElementsByClass(String className);
Elements getElementsByAttribute(String key);
Elements getElementsByAttributeStarting(String keyPrefix);
Elements getElementsByAttributeValue(String key, String value);
Elements getElementsByAttributeValueNot(String key, String value);
Elements getElementsByAttributeValueStarting(String key, String valuePrefix);
Elements getElementsByAttributeValueEnding(String key, String valueSuffix);
Elements getElementsByAttributeValueContaining(String key, String match);
Elements getElementsByAttributeValueMatching(String key, Pattern pattern);
Elements getElementsContainingText(String searchText);
Elements getElementsContainingOwnText(String searchText);
Elements getElementsMatchingText(Pattern pattern);
Elements getElementsMatchingOwnText(Pattern pattern);
Elements getAllElements();
String text();
Element text(String text);
boolean hasText();
String ownText();
String data();
String className();
Set<String> classNames();
Element classNames(Set<String> classNames);
boolean hasClass(String className);
Element addClass(String className);
Element removeClass(String className);
Element toggleClass(String className);
String val();
Element val(String value);
String html();
Element html(String html);
}
}