61 lines
1.3 KiB
Java
61 lines
1.3 KiB
Java
/*
|
|
* Title: CloudSim Toolkit
|
|
* Description: CloudSim (Cloud Simulation) Toolkit for Modeling and Simulation of Clouds
|
|
* Licence: GPL - http://www.gnu.org/copyleft/gpl.html
|
|
*
|
|
* Copyright (c) 2009-2012, The University of Melbourne, Australia
|
|
*/
|
|
|
|
package org.cloudbus.cloudsim.core.predicates;
|
|
|
|
import org.cloudbus.cloudsim.core.SimEvent;
|
|
|
|
/**
|
|
* A predicate to select events that don't match specific tags.
|
|
*
|
|
* @author Marcos Dias de Assuncao
|
|
* @since CloudSim Toolkit 1.0
|
|
* @see PredicateType
|
|
* @see Predicate
|
|
*/
|
|
public class PredicateNotType extends Predicate {
|
|
|
|
/** The tags. */
|
|
private final int[] tags;
|
|
|
|
/**
|
|
* Constructor used to select events whose tags do not match a given tag.
|
|
*
|
|
* @param tag An event tag value
|
|
*/
|
|
public PredicateNotType(int tag) {
|
|
tags = new int[] { tag };
|
|
}
|
|
|
|
/**
|
|
* Constructor used to select events whose tag values do not match any of the given tags.
|
|
*
|
|
* @param tags the list of tags
|
|
*/
|
|
public PredicateNotType(int[] tags) {
|
|
this.tags = tags.clone();
|
|
}
|
|
|
|
/**
|
|
* The match function called by {@link Simulation}, not used directly by the user.
|
|
*
|
|
* @param ev the ev
|
|
* @return true, if match
|
|
*/
|
|
@Override
|
|
public boolean match(SimEvent ev) {
|
|
int tag = ev.getTag();
|
|
for (int tag2 : tags) {
|
|
if (tag == tag2) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
} |