package com.atomjack.vcfp.model;
import android.os.Parcelable;
import com.atomjack.shared.NewLogger;
import org.simpleframework.xml.Attribute;
import org.simpleframework.xml.ElementList;
import java.util.Date;
import java.util.List;
public abstract class PlexDevice implements Parcelable {
@Attribute(required=false)
public String name;
@Attribute(required=false)
public String address;
@Attribute(required=false)
public String port;
@Attribute(required=false)
public String version;
@Attribute(required=false)
public String product;
@Attribute(required=false)
public String provides;
@Attribute(required=false)
public String lastSeenAt;
@ElementList(required=false, inline=true)
public List<Connection> connections;
@Attribute(required=false)
public String machineIdentifier;
@Attribute(required=false)
public Date lastUpdated;
protected NewLogger logger;
public PlexDevice() {
lastUpdated = new Date();
logger = new NewLogger(this);
}
@Override
public boolean equals(Object o) {
if(this == o)
return true;
if(o == null)
return false;
if(getClass() != o.getClass())
return false;
PlexDevice other = (PlexDevice)o;
if(machineIdentifier == null) {
if (other.machineIdentifier != null)
return false;
} else if(!machineIdentifier.equals(other.machineIdentifier))
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 67;
int result = 1;
result = prime * result + ((machineIdentifier == null) ? 0 : machineIdentifier.hashCode());
return result;
}
}