com.enonic.cms.core.tools.plugin.PluginWrapper.java Source code

Java tutorial

Introduction

Here is the source code for com.enonic.cms.core.tools.plugin.PluginWrapper.java

Source

/*
 * Copyright 2000-2013 Enonic AS
 * http://www.enonic.com/license
 */

package com.enonic.cms.core.tools.plugin;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;

import org.joda.time.format.DateTimeFormatterBuilder;

import com.enonic.cms.core.plugin.PluginHandle;

public final class PluginWrapper {
    private final PluginHandle plugin;

    public PluginWrapper(final PluginHandle plugin) {
        this.plugin = plugin;
    }

    public long getKey() {
        return this.plugin.getKey();
    }

    public String getId() {
        return this.plugin.getId();
    }

    public String getName() {
        return this.plugin.getName();
    }

    public String getVersion() {
        return this.plugin.getVersion();
    }

    public String getTimestamp() {
        return new DateTimeFormatterBuilder().appendYear(4, 4).appendLiteral('-').appendMonthOfYear(2)
                .appendLiteral('-').appendDayOfMonth(2).appendLiteral(' ').appendHourOfDay(2).appendLiteral(':')
                .appendMinuteOfHour(2).appendLiteral(':').appendSecondOfMinute(2).toFormatter()
                .print(this.plugin.getTimestamp());
    }

    public boolean isActive() {
        return this.plugin.isActive();
    }

    public Map<String, String> getConfig() {
        if (this.plugin.isActive()) {
            return this.plugin.getConfig();
        } else {
            return Collections.emptyMap();
        }
    }

    public static Collection<PluginWrapper> toWrapperList(final List<PluginHandle> list) {
        final ArrayList<PluginWrapper> target = new ArrayList<PluginWrapper>();
        for (final PluginHandle item : list) {
            target.add(new PluginWrapper(item));
        }

        return target;
    }
}