1 /* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
2 * license. See http://svn.openlayers.org/trunk/openlayers/license.txt for the
3 * full text of the license. */
7 * @requires OpenLayers/Filter.js
11 * Class: OpenLayers.Filter.FeatureId
12 * This class represents a ogc:FeatureId Filter, as being used for rule-based SLD
16 * - <OpenLayers.Filter>
18 OpenLayers.Filter.FeatureId = OpenLayers.Class(OpenLayers.Filter, {
22 * {Array(String)} Feature Ids to evaluate this rule against. To be passed
23 * To be passed inside the params object.
28 * Constructor: OpenLayers.Filter.FeatureId
29 * Creates an ogc:FeatureId rule.
32 * options - {Object} An optional object with properties to set on the
36 * {<OpenLayers.Filter.FeatureId>}
38 initialize: function(options) {
40 OpenLayers.Filter.prototype.initialize.apply(this, [options]);
45 * evaluates this rule for a specific feature
48 * feature - {<OpenLayers.Feature>} feature to apply the rule to.
49 * For vector features, the check is run against the fid,
50 * for plain features against the id.
53 * {Boolean} true if the rule applies, false if it does not
55 evaluate: function(feature) {
56 for (var i=0, len=this.fids.length; i<len; i++) {
57 var fid = feature.fid || feature.id;
58 if (fid == this.fids[i]) {
70 * {<OpenLayers.Filter.FeatureId>} Clone of this filter.
73 var filter = new OpenLayers.Filter.FeatureId();
74 OpenLayers.Util.extend(filter, this);
75 filter.fids = this.fids.slice();
79 CLASS_NAME: "OpenLayers.Filter.FeatureId"