PluginInfo.java
/*
* Copyright (C) 2003-2013 eXo Platform SAS.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License
* as published by the Free Software Foundation; either version 3
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, see<http://www.gnu.org/licenses/>.
*/
package org.exoplatform.commons.api.notification.model;
import java.util.ArrayList;
import java.util.List;
public class PluginInfo {
private String type;
private int order = 0;
private String resourceBundleKey;
private String bundlePath;
private List<String> channelActives;
private List<String> defaultConfig = new ArrayList<String>();
public PluginInfo() {
channelActives = new ArrayList<String>();
}
/**
* @return the type
*/
public String getType() {
return type;
}
/**
* @param type the id to set
*/
public PluginInfo setType(String type) {
this.type = type;
return this;
}
/**
* @return the order
*/
public int getOrder() {
return order;
}
/**
* @param order the order to set
*/
public PluginInfo setOrder(int order) {
this.order = order;
return this;
}
/**
* @return the defaultConfig
*/
public List<String> getDefaultConfig() {
return defaultConfig;
}
/**
* @param defaultConfig the defaultConfig to set
*/
public void setDefaultConfig(List<String> defaultConfig) {
this.defaultConfig = defaultConfig;
}
/**
* @return the resourceBundleKey
*/
public String getResourceBundleKey() {
return resourceBundleKey;
}
/**
* @param resourceBundleKey the resourceBundleKey to set
*/
public PluginInfo setResourceBundleKey(String resourceBundleKey) {
this.resourceBundleKey = resourceBundleKey;
return this;
}
/**
* @return the bundlePath
*/
public String getBundlePath() {
return bundlePath;
}
/**
* @param bundlePath the bundlePath to set
*/
public PluginInfo setBundlePath(String bundlePath) {
this.bundlePath = bundlePath;
return this;
}
/**
* @return
*/
public List<String> getAllChannelActive() {
return channelActives;
}
/**
* @return
*/
public boolean isChannelActive(String channelId) {
return channelActives.contains(channelId);
}
/**
* @param channelId
*/
public PluginInfo setChannelActive(String channelId) {
channelActives.add(channelId);
return this;
}
/**
* @param channelActives
*/
public PluginInfo setChannelActives(List<String> channelActives) {
this.channelActives = new ArrayList<String>(channelActives);
return this;
}
public PluginInfo end() {
return this;
}
@Override
public String toString() {
return this.type;
}
@Override
public boolean equals(final Object o) {
if (this == o) {
return true;
}
if (!(o instanceof PluginInfo)) {
return false;
}
//
PluginInfo that = (PluginInfo) o;
if (type != null ? !type.equals(that.type) : that.type != null) {
return false;
}
return true;
}
@Override
public int hashCode() {
int result = super.hashCode();
result = 31 * result + (type != null ? type.hashCode() : 0);
return result;
}
}