More trip planner testing with colors
[busui.git] / labs / openlayers / lib / OpenLayers / Filter / FeatureId.js
blob:a/labs/openlayers/lib/OpenLayers/Filter/FeatureId.js -> blob:b/labs/openlayers/lib/OpenLayers/Filter/FeatureId.js
  /* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
  * full list of contributors). Published under the Clear BSD license.
  * See http://svn.openlayers.org/trunk/openlayers/license.txt for the
  * full text of the license. */
   
   
  /**
  * @requires OpenLayers/Filter.js
  */
   
  /**
  * Class: OpenLayers.Filter.FeatureId
  * This class represents a ogc:FeatureId Filter, as being used for rule-based SLD
  * styling
  *
  * Inherits from
  * - <OpenLayers.Filter>
  */
  OpenLayers.Filter.FeatureId = OpenLayers.Class(OpenLayers.Filter, {
   
  /**
  * APIProperty: fids
  * {Array(String)} Feature Ids to evaluate this rule against. To be passed
  * To be passed inside the params object.
  */
  fids: null,
   
  /**
  * Constructor: OpenLayers.Filter.FeatureId
  * Creates an ogc:FeatureId rule.
  *
  * Parameters:
  * options - {Object} An optional object with properties to set on the
  * rule
  *
  * Returns:
  * {<OpenLayers.Filter.FeatureId>}
  */
  initialize: function(options) {
  this.fids = [];
  OpenLayers.Filter.prototype.initialize.apply(this, [options]);
  },
   
  /**
  * APIMethod: evaluate
  * evaluates this rule for a specific feature
  *
  * Parameters:
  * feature - {<OpenLayers.Feature>} feature to apply the rule to.
  * For vector features, the check is run against the fid,
  * for plain features against the id.
  *
  * Returns:
  * {Boolean} true if the rule applies, false if it does not
  */
  evaluate: function(feature) {
  for (var i=0, len=this.fids.length; i<len; i++) {
  var fid = feature.fid || feature.id;
  if (fid == this.fids[i]) {
  return true;
  }
  }
  return false;
  },
   
  /**
  * APIMethod: clone
  * Clones this filter.
  *
  * Returns:
  * {<OpenLayers.Filter.FeatureId>} Clone of this filter.
  */
  clone: function() {
  var filter = new OpenLayers.Filter.FeatureId();
  OpenLayers.Util.extend(filter, this);
  filter.fids = this.fids.slice();
  return filter;
  },
   
  CLASS_NAME: "OpenLayers.Filter.FeatureId"
  });