/** * Copyright (c) 2000-present Liferay, Inc. All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. */ package com.liferay.portal.kernel.xml; import aQute.bnd.annotation.ProviderType; import java.io.IOException; import java.util.Iterator; import java.util.List; import java.util.Map; /** * @author Brian Wing Shun Chan */ @ProviderType public interface Element extends Branch { public void add(Attribute attribute); public void add(CDATA cdata); public void add(Entity entity); public void add(Namespace namespace); public void add(Text text); public Element addAttribute(QName qName, String value); public Element addAttribute(String name, String value); public Element addCDATA(String cdata); public Element addComment(String comment); public Element addEntity(String name, String text); public List<Namespace> additionalNamespaces(); public Element addNamespace(String prefix, String uri); public Element addProcessingInstruction( String target, Map<String, String> data); public Element addProcessingInstruction(String target, String data); public Element addText(String text); public void appendAttributes(Element element); public Attribute attribute(int index); public Attribute attribute(QName qName); public Attribute attribute(String name); public int attributeCount(); public Iterator<Attribute> attributeIterator(); public List<Attribute> attributes(); public String attributeValue(QName qName); public String attributeValue(QName qName, String defaultValue); public String attributeValue(String name); public String attributeValue(String name, String defaultValue); public Element createCopy(); public Element createCopy(QName qName); public Element createCopy(String name); public List<Namespace> declaredNamespaces(); public Element element(QName qName); public Element element(String name); public Iterator<Element> elementIterator(); public Iterator<Element> elementIterator(QName qName); public Iterator<Element> elementIterator(String name); public List<Element> elements(); public List<Element> elements(QName qName); public List<Element> elements(String name); public String elementText(QName qName); public String elementText(String name); public String elementTextTrim(QName qName); public String elementTextTrim(String name); @Override public String formattedString() throws IOException; @Override public String formattedString(String indent) throws IOException; @Override public String formattedString(String indent, boolean expandEmptyElements) throws IOException; public Object getData(); public Namespace getNamespace(); public Namespace getNamespaceForPrefix(String prefix); public Namespace getNamespaceForURI(String uri); public String getNamespacePrefix(); public List<Namespace> getNamespacesForURI(String uri); public String getNamespaceURI(); public QName getQName(); public QName getQName(String qualifiedName); public String getQualifiedName(); @Override public String getStringValue(); @Override public String getText(); public String getTextTrim(); public Node getXPathResult(int index); public boolean hasMixedContent(); public boolean isRootElement(); public boolean isTextOnly(); public boolean remove(Attribute attribute); public boolean remove(CDATA cdata); public boolean remove(Entity entity); public boolean remove(Namespace namespace); public boolean remove(Text text); public void setAttributes(List<Attribute> attributes); public void setData(Object data); public void setQName(QName qName); public void sortAttributes(boolean recursive); public void sortElementsByAttribute( String elementName, String attributeName); public void sortElementsByChildElement( String elementName, String childElementName); }