/*
* Copyright (c) 2008-2013 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.db.common.schema;
import javax.xml.bind.annotation.XmlElement;
import com.google.common.base.Objects;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.emc.storageos.db.client.model.TimeSeries;
public class TimeSeriesSchema extends DbSchema {
private static final Logger log = LoggerFactory.getLogger(TimeSeriesSchema.class);
private String serializerType;
public TimeSeriesSchema() {
}
public TimeSeriesSchema(Class<? extends TimeSeries> clazz) {
super(clazz);
try {
serializerType = clazz.newInstance().getSerializer().getClass().getName();
} catch (Exception e) {
log.error("Failed to get serializer type:", e);
}
}
public void setSerializerType(String serializerType) {
this.serializerType = serializerType;
}
@XmlElement(name = "serializer_type")
public String getSerializerType() {
return serializerType;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof TimeSeriesSchema)) {
return false;
}
TimeSeriesSchema schema = (TimeSeriesSchema) o;
if (!schema.serializerType.equals(serializerType)) {
return false;
}
return super.equals(o);
}
@Override
public int hashCode() {
return Objects.hashCode(super.hashCode(), serializerType);
}
}