/* * Copyright 2015 EMC Corporation * All Rights Reserved */ package com.emc.vipr.client.core.filters; import java.net.URI; import com.emc.storageos.model.block.VolumeRestRep; /** * Filters block volumes that belong to a consistency group */ public class BlockVolumeConsistencyGroupFilter extends DefaultResourceFilter<VolumeRestRep> { private final URI consistencyGroup; private final boolean allowNullCg; /** * Creates a filter for volumes that belong to a consistency group * * @param consistencyGroup the consistency group to check * @param allowNullCg if true, accept volumes that don't belong to a consistency group */ public BlockVolumeConsistencyGroupFilter(URI consistencyGroup, boolean allowNullCg) { this.consistencyGroup = consistencyGroup; this.allowNullCg = allowNullCg; } @Override public boolean accept(VolumeRestRep item) { if (item.getConsistencyGroup() == null) { return allowNullCg; } else { return item.getConsistencyGroup().getId().equals(consistencyGroup); } } }