org.gradle.gradleplugin.foundation.Dom4JUtility Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gradle-api Show documentation
Show all versions of gradle-api Show documentation
Gradle 6.9.1 API redistribution.
/*
* Copyright 2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.gradle.gradleplugin.foundation;
import org.dom4j.Attribute;
import org.dom4j.Element;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/*
Just some utility functions that really should be in Dom4J already.
*/
public class Dom4JUtility {
/**
* This returns the node that is a child of the specified parent that has the specified 'name' and an attribute with the specified value. This is similar to the below getChild, but this requires a
* specific tag name.
*/
public static Element getChild(Element parent, String tagName, String attribute, String attributeValue) {
Element childElement = null;
Iterator iterator = parent.elements(tagName).iterator();
while (iterator.hasNext() && childElement == null) {
childElement = (Element) iterator.next();
String actualValue = childElement.attributeValue(attribute);
if (!attributeValue.equals(actualValue)) {
childElement = null;
}
}
return childElement;
}
public static List getChildren(Element parent, String tagName, String attribute, String attributeValue) {
List children = new ArrayList();
Iterator iterator = parent.elements(tagName).iterator();
while (iterator.hasNext()) {
Element childElement = (Element) iterator.next();
String actualValue = childElement.attributeValue(attribute);
if (attributeValue.equals(actualValue)) {
children.add(childElement);
}
}
return children;
}
/**
* Thie returns the node that is a child of hte specified parent that has the specified attribute with the specified value. This is similar to the above getChild, but no tag name is required.
*/
public static Element getChild(Element parent, String attribute, String attributeValue) {
Element childElement = null;
Iterator iterator = parent.elements().iterator();
while (iterator.hasNext() && childElement == null) {
childElement = (Element) iterator.next();
String actualValue = childElement.attributeValue(attribute);
if (!attributeValue.equals(actualValue)) {
childElement = null;
}
}
return childElement;
}
/**
* Thie returns the node that is a child of hte specified parent that has the specified attribute with the specified value. This is similar to the above getChild, but no tag name is required.
*/
public static List getChildren(Element parent, String attribute, String attributeValue) {
List children = new ArrayList();
Iterator iterator = parent.elements().iterator();
while (iterator.hasNext()) {
Element childElement = (Element) iterator.next();
String actualValue = childElement.attributeValue(attribute);
if (attributeValue.equals(actualValue)) {
children.add(childElement);
}
}
return children;
}
public static void setAttributeAsBoolean(Element element, String attribute, boolean value) {
if (value) {
element.addAttribute(attribute, "true");
} else {
element.addAttribute(attribute, "false");
}
}
public static boolean getAttributeAsBoolean(Element element, String attributeName, boolean defaultValue) {
Attribute attribute = element.attribute(attributeName);
if (attribute == null) {
return defaultValue;
}
return "true".equals(attribute.getValue());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy