/*
 * FindBugs - Find bugs in Java programs
 * Copyright (C) 2005, University of Maryland
 *
 * 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.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
package edu.umd.cs.findbugs;

import java.io.IOException;

import edu.umd.cs.findbugs.xml.XMLAttributeList;
import edu.umd.cs.findbugs.xml.XMLOutput;

Utility methods for BugAnnotation classes.
Author:David Hovemeyer
/** * Utility methods for BugAnnotation classes. * * @author David Hovemeyer */
public abstract class BugAnnotationUtil {
Write a BugAnnotation as XML.
Params:
  • xmlOutput – the XMLOutput
  • elementName – name of element for BugAnnotation
  • annotation – the BugAnnotation
  • attributeList – the XML attribute list
  • addMessages – true if descriptive messages should be added
Throws:
/** * Write a BugAnnotation as XML. * * @param xmlOutput * the XMLOutput * @param elementName * name of element for BugAnnotation * @param annotation * the BugAnnotation * @param attributeList * the XML attribute list * @param addMessages * true if descriptive messages should be added * @throws IOException */
public static void writeXML(XMLOutput xmlOutput, String elementName, BugAnnotation annotation, XMLAttributeList attributeList, boolean addMessages) throws IOException { SourceLineAnnotation src = null; if (annotation instanceof BugAnnotationWithSourceLines) { src = ((BugAnnotationWithSourceLines) annotation).getSourceLines(); } if (addMessages || src != null) { xmlOutput.openTag(elementName, attributeList); if (src != null) { src.writeXML(xmlOutput, addMessages, false); } if (addMessages) { xmlOutput.openTag(BugAnnotation.MESSAGE_TAG); xmlOutput.writeText(annotation.toString()); xmlOutput.closeTag(BugAnnotation.MESSAGE_TAG); } xmlOutput.closeTag(elementName); } else { xmlOutput.openCloseTag(elementName, attributeList); } } }