Es ist jetzt möglich die Verwendung der ExtraXMLGenerators abzuschalten. Sinnvoll, wenn das XML eines Content-Items in den

XML-Output eines anderen Items integiert wird.


git-svn-id: https://svn.libreccm.org/ccm/trunk@1190 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2011-10-23 08:50:13 +00:00
parent 680581868c
commit 29a260504d
1 changed files with 19 additions and 2 deletions

View File

@ -59,6 +59,14 @@ public class SimpleXMLGenerator implements XMLGenerator {
Logger.getLogger(SimpleXMLGenerator.class);
public static final String ADAPTER_CONTEXT = SimpleXMLGenerator.class.
getName();
/**
* jensp 2011-10-23: Sometimes the extra XML is not needed, for example
* when embedding the XML of a content item into the XML output of another
* content item. The default value {@code true}. To change the value
* call {@link #setUseExtraXml(booelan)} after creating an instance of
* your generator.
*/
private boolean useExtraXml = true;
// Register general purpose adaptor for all content items
static {
@ -78,6 +86,10 @@ public class SimpleXMLGenerator implements XMLGenerator {
public SimpleXMLGenerator() {
}
public void setUseExtraXml(final boolean useExtraXml) {
this.useExtraXml = useExtraXml;
}
/**
* Generates the XML to render the content panel.
*
@ -165,9 +177,14 @@ public class SimpleXMLGenerator implements XMLGenerator {
* 2011-08-27 jensp: Introduced to remove the annoying special templates
* for MultiPartArticle, SiteProxy and others. The method called
* here was already definied but not used.
*
* 2011-10-23 jensp: It is not possible to disable the use of
* extra XML.
*/
for (ExtraXMLGenerator generator : item.getExtraXMLGenerators()) {
generator.generateXML(item, parent, state);
if (useExtraXml) {
for (ExtraXMLGenerator generator : item.getExtraXMLGenerators()) {
generator.generateXML(item, parent, state);
}
}
}
}