import {BooleanUtil} from '../lang/BooleanUtil'; import {ResultEnum} from '../lang/ResultEnum'; import {Tag} from './Tag'; import {TagContext} from './TagContext'; //========================================================== // 标签判断真类。 // // @class // @author maocy // @version 150114 //========================================================== export class TagTrue extends Tag { public trimLeft = true; public source = null; //========================================================== // 开始处理。 // // @method // @param p:context:FTagContext 环境 // @return EResult 处理结果 //========================================================== public onBegin(context: TagContext): ResultEnum { var result = false; var ns = this.source.split('|'); var c = ns.length; for (var i: number = 0; i < c; i++) { var n = ns[i] var v = context.get(n); if (BooleanUtil.parse(v)) { result = true; break; } } return result ? ResultEnum.Continue : ResultEnum.Skip; } //========================================================== // 设置属性值。 // // @method // @param name 名称 // @param level 内容 //========================================================== public set(name, value) { switch (name) { case 'source': this.source = value; return; } super.set(name, value); } //========================================================== //获得字符串。 // // @method // @return String 字符串 //========================================================== public toString() { return 'source=' + this.source; } }