/*
* Copyright (c) 2016 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.db.client.constraint;
import java.net.URI;
import com.netflix.astyanax.connectionpool.exceptions.ConnectionException;
import com.emc.storageos.db.client.constraint.impl.ClassNameTimeSeriesConstraintImpl;
import com.emc.storageos.db.client.constraint.impl.TimeSeriesConstraintImpl;
import com.emc.storageos.db.client.impl.ColumnField;
import com.emc.storageos.db.client.impl.DataObjectType;
import com.emc.storageos.db.client.impl.TypeMap;
import com.emc.storageos.db.client.model.uimodels.Order;
public interface TimeSeriesConstraint extends Constraint {
long count() throws ConnectionException;
class Factory {
private Factory() {
}
public static TimeSeriesConstraint getOrdersByUser(String user, long startTimeInMS, long endTimeInMS) {
DataObjectType doType = TypeMap.getDoType(Order.class);
ColumnField field = doType.getColumnField(Order.SUBMITTED_BY_USER_ID);
return new ClassNameTimeSeriesConstraintImpl(field, user, startTimeInMS, endTimeInMS);
}
public static TimeSeriesConstraint getOrders(URI tid, long startTimeInMS, long endTimeInMS) {
DataObjectType doType = TypeMap.getDoType(Order.class);
ColumnField field = doType.getColumnField(Order.SUBMITTED);
return new TimeSeriesConstraintImpl(tid.toString(), field, startTimeInMS, endTimeInMS);
}
}
}