package com.netifera.platform.net.model; import com.netifera.platform.api.model.AbstractEntity; import com.netifera.platform.api.model.IEntity; import com.netifera.platform.api.model.IEntityReference; import com.netifera.platform.api.model.IWorkspace; public class UserEntity extends AbstractEntity { //implements Comparable<UserEntity> { private static final long serialVersionUID = 1049344731407259618L; public final static String ENTITY_NAME = "user"; private final IEntityReference host; private final String name; public UserEntity(IWorkspace workspace, HostEntity host, String name) { super(ENTITY_NAME, workspace, host.getRealmId()); this.host = host.createReference(); this.name = name; } UserEntity() { this.host = null; this.name = null; } public HostEntity getHost() { return (HostEntity) referenceToEntity(host); } public String getName() { return name; } @Override protected IEntity cloneEntity() { return new UserEntity(getWorkspace(), getHost(), getName()); } public static String createQueryKey(long realmId, String name, long hostId) { return ENTITY_NAME + ":" + realmId + ":" + name + ":" + hostId; } @Override protected String generateQueryKey() { return createQueryKey(getRealmId(), name, getHost().getId()); } public int compareTo(UserEntity other) { int r = name.compareTo(other.name); return r > 0 ? 1 : (r < 0 ? -1 : 0); } }