/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.core.preference;
import java.util.Collection;
import com.enonic.cms.framework.xml.XMLBuilder;
import com.enonic.cms.framework.xml.XMLDocument;
public final class PreferenceXmlCreator
{
public static XMLDocument createPreferencesDocument( Collection<PreferenceEntity> preferences )
{
XMLBuilder builder = new XMLBuilder();
builder.startElement( "preferences" );
for ( PreferenceEntity preference : preferences )
{
doCreatePreferenceElement( builder, preference );
}
builder.setAttribute( "count", Integer.valueOf( preferences.size() ) );
builder.endElement();
return builder.getDocument();
}
public static XMLDocument createEmptyPreferencesDocument( String message )
{
XMLBuilder builder = new XMLBuilder();
builder.startElement( "preferences" );
builder.setAttribute( "message", message != null ? message : "" );
builder.endElement();
return builder.getDocument();
}
private static void doCreatePreferenceElement( XMLBuilder builder, PreferenceEntity preference )
{
builder.startElement( "preference" );
PreferenceKey preferenceKey = preference.getKey();
builder.setAttribute( "scope", preferenceKey.getScopeType().getName() );
builder.setAttribute( "key", preferenceKey.getKeyExcludingTypePart() );
builder.setAttribute( "basekey", preferenceKey.getBaseKey() );
builder.addContent( preference.getValue() );
builder.endElement();
}
}