package edu.brown.designer.partitioners.plan;
import org.voltdb.catalog.ProcParameter;
import org.voltdb.types.PartitionMethodType;
public class ProcedureEntry extends PartitionEntry<ProcParameter> {
// Procedure Information
public Boolean single_partition;
public ProcedureEntry() {
// For serialziation
}
public ProcedureEntry(PartitionMethodType method) {
this(method, null, null);
}
public ProcedureEntry(PartitionMethodType method, ProcParameter catalog_param, Boolean single_partition) {
super(method, catalog_param);
this.single_partition = single_partition;
}
/**
* Is the procedure this entry guaranteed to be single-partition?
*
* @return
*/
public Boolean isSinglePartition() {
return single_partition;
}
public void setSinglePartition(boolean singlePartition) {
this.single_partition = singlePartition;
}
@Override
public boolean equals(Object obj) {
if (!(obj instanceof ProcedureEntry)) {
return (false);
}
ProcedureEntry other = (ProcedureEntry) obj;
// SinglePartition
if (this.single_partition == null) {
if (other.single_partition != null)
return (false);
} else if (!this.single_partition.equals(other.single_partition)) {
return (false);
}
return (super.equals(other));
}
}