Java tutorial
/* * Copyright 2013-2015 cetvision.com. All rights reserved. * Support: http://www.cetvision.com * License: http://www.cetvision.com/license */ package com.dp2345.service.impl; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.Predicate; import org.springframework.stereotype.Service; import com.dp2345.plugin.PaymentPlugin; import com.dp2345.plugin.StoragePlugin; import com.dp2345.service.PluginService; /** * Service - ? * * @author CETVISION CORP * @version 2.0.3 */ @Service("pluginServiceImpl") public class PluginServiceImpl implements PluginService { @Resource private List<PaymentPlugin> paymentPlugins = new ArrayList<PaymentPlugin>(); @Resource private List<StoragePlugin> storagePlugins = new ArrayList<StoragePlugin>(); @Resource private Map<String, PaymentPlugin> paymentPluginMap = new HashMap<String, PaymentPlugin>(); @Resource private Map<String, StoragePlugin> storagePluginMap = new HashMap<String, StoragePlugin>(); public List<PaymentPlugin> getPaymentPlugins() { Collections.sort(paymentPlugins); return paymentPlugins; } public List<StoragePlugin> getStoragePlugins() { Collections.sort(storagePlugins); return storagePlugins; } public List<PaymentPlugin> getPaymentPlugins(final boolean isEnabled) { List<PaymentPlugin> result = new ArrayList<PaymentPlugin>(); CollectionUtils.select(paymentPlugins, new Predicate() { public boolean evaluate(Object object) { PaymentPlugin paymentPlugin = (PaymentPlugin) object; return paymentPlugin.getIsEnabled() == isEnabled; } }, result); Collections.sort(result); return result; } public List<StoragePlugin> getStoragePlugins(final boolean isEnabled) { List<StoragePlugin> result = new ArrayList<StoragePlugin>(); CollectionUtils.select(storagePlugins, new Predicate() { public boolean evaluate(Object object) { StoragePlugin storagePlugin = (StoragePlugin) object; return storagePlugin.getIsEnabled() == isEnabled; } }, result); Collections.sort(result); return result; } public PaymentPlugin getPaymentPlugin(String id) { return paymentPluginMap.get(id); } public StoragePlugin getStoragePlugin(String id) { return storagePluginMap.get(id); } }