All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sourceforge.openutils.mgnlmessages.i18n.ModulePropertyMessagesImpl Maven / Gradle / Ivy

package net.sourceforge.openutils.mgnlmessages.i18n;

import info.magnolia.cms.i18n.AbstractMessagesImpl;
import info.magnolia.cms.i18n.Messages;
import info.magnolia.module.ModuleRegistry;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Set;


/**
 * @author molaschi
 * @version $Id: $
 */
public class ModulePropertyMessagesImpl extends AbstractMessagesImpl
{

    List messages = new ArrayList();

    /**
     * @param basename
     * @param locale
     */
    @SuppressWarnings("unchecked")
    public ModulePropertyMessagesImpl(Locale locale)
    {
        super("", locale);
        ModuleRegistry reg = ModuleRegistry.Factory.getInstance();
        for (String name : (Set) reg.getModuleNames())
        {
            messages.add(new SimpleMessagesImpl("mgnl-messages." + name + ".messages", locale));
        }
    }

    /**
     * {@inheritDoc}
     */
    public String get(String key)
    {
        String value;
        for (Messages m : messages)
        {
            value = m.get(key);
            if (value != null)
            {
                return value;
            }
        }
        if (key == null)
        {
            return "??????";
        }
        return "???" + key + "???";
    }

    /**
     * {@inheritDoc}
     */
    @SuppressWarnings("unchecked")
    public Iterator keys()
    {
        List keys = new ArrayList();
        for (Messages m : messages)
        {
            Iterator it = m.keys();
            while (it.hasNext())
            {
                keys.add((String) it.next());
            }
        }
        return keys.iterator();
    }

    /**
     * {@inheritDoc}
     */
    public void reload() throws Exception
    {
        for (Messages m : messages)
        {
            m.reload();
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy