blob: 50f8ea75e1424852b7b1c22842aaf0034e02d61a [file] [log] [blame]
/*
* @author: ucla-cs
* This class represents Exclude objects
*/
var Exclude = function Exclude(_Values){
this.OPTIMUM_FILTER_SIZE = 100;
this.Values = _Values; //array of elements
}
Exclude.prototype.decode = function(/*XMLDecoder*/ decoder) {
decoder.readStartElement(this.getElementLabel());
//TODO APPLY FILTERS/EXCLUDE
//TODO
/*var component;
var any = false;
while ((component = decoder.peekStartElement(CCNProtocolDTags.Component)) ||
(any = decoder.peekStartElement(CCNProtocolDTags.Any)) ||
decoder.peekStartElement(CCNProtocolDTags.Bloom)) {
var ee = component?new ExcludeComponent(): any ? new ExcludeAny() : new BloomFilter();
ee.decode(decoder);
_values.add(ee);
}*/
decoder.readEndElement();
};
Exclude.prototype.encode=function(/*XMLEncoder*/ encoder) {
if (!validate()) {
throw new ContentEncodingException("Cannot encode " + this.getClass().getName() + ": field values missing.");
}
if (empty())
return;
encoder.writeStartElement(getElementLabel());
encoder.writeEndElement();
};
Exclude.prototype.getElementLabel = function() { return CCNProtocolDTags.Exclude; };