package com.netifera.platform.net.wifi.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; import com.netifera.platform.util.addresses.MACAddress; public class AccessPointEntity extends AbstractEntity { private static final long serialVersionUID = 1L; public static final String ENTITY_TYPE = "wireless.access_point"; private final byte[] bssidBytes; private final IEntityReference essEntity; public AccessPointEntity(IWorkspace workspace, long realmId, MACAddress bssid, ExtendedServiceSetEntity ess) { super(ENTITY_TYPE, workspace, realmId); bssidBytes = bssid.toBytes(); essEntity = ess.createReference(); } AccessPointEntity() { bssidBytes = null; essEntity = null; } public MACAddress getBSSID() { return new MACAddress(bssidBytes); } public ExtendedServiceSetEntity getESS() { return (ExtendedServiceSetEntity) referenceToEntity(essEntity); } @Override protected IEntity cloneEntity() { final AccessPointEntity clone = new AccessPointEntity(getWorkspace(), getRealmId(), new MACAddress(bssidBytes), getESS()); return clone; } protected String generateQueryKey() { return createQueryKey(getRealmId(), new MACAddress(bssidBytes)); } public static String createQueryKey(long realmId, MACAddress bssid) { return ENTITY_TYPE + ":" + realmId + ":" + bssid.toString(); } }