/**
* Copyright (c)2010-2011 Enterprise Website Content Management System(EWCMS), All rights reserved.
* EWCMS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* http://www.ewcms.com
*/
package com.ewcms.core.site;
import java.util.HashSet;
import java.util.Set;
import org.springframework.security.acls.model.Permission;
import com.ewcms.core.site.model.Channel;
public class ChannelNode {
private Integer id;
private String name;
private Channel.Type channelType;
private String channelTypeDes;
private boolean children;
private boolean publicable;
private String sort;
private Set<Permission> permissions=new HashSet<Permission>();
public ChannelNode(final Channel channel){
this(channel,new HashSet<Permission>());
}
public ChannelNode(final Channel channel,final Set<Permission> permissions){
id = channel.getId();
name = channel.getName();
children = channel.hasChildren();
publicable = channel.getPublicenable();
channelType = channel.getType();
channelTypeDes = channel.getTypeDescription();
try{
sort = Long.toString(channel.getSort());
}catch(Exception e){
sort = "1";
}
this.permissions = permissions;
}
public ChannelNode(){};
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isChildren() {
return children;
}
public void setChildren(boolean children) {
this.children = children;
}
public boolean isPublicable() {
return publicable;
}
public void setPublicable(boolean publicable) {
this.publicable = publicable;
}
public Set<Permission> getPermissions() {
return permissions;
}
public void setPermissions(Set<Permission> permissions) {
this.permissions = permissions;
}
public Channel.Type getChannelType() {
return channelType;
}
public void setChannelType(Channel.Type channelType) {
this.channelType = channelType;
}
public String getChannelTypeDes() {
return channelTypeDes;
}
public void setChannelTypeDes(String channelTypeDes) {
this.channelTypeDes = channelTypeDes;
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((id == null) ? 0 : id.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
ChannelNode other = (ChannelNode) obj;
if (id == null) {
if (other.id != null)
return false;
} else if (!id.equals(other.id))
return false;
return true;
}
@Override
public String toString(){
StringBuilder builder = new StringBuilder();
builder.append(this.getClass().getSimpleName()).append("{");
builder.append("id:").append(id).append(";");
builder.append("name:").append(name).append(";");
builder.append("children:").append(children).append(";");
builder.append("publicable:").append(publicable).append(";");
builder.append("permissions:[");
for(Permission permission : permissions){
builder.append(permission.toString()).append(";");
}
builder.append("];");
builder.append("}");
return builder.toString();
}
}