Exemplo n.º 1
0
        public Compare ToCompare()
        {
            Compare compare = new Compare();

            compare.Key = this.key;
            switch (this.op)
            {
            case Op.EQUAL:
                compare.Result = Compare.Types.CompareResult.Equal;
                break;

            case Op.GREATER:
                compare.Result = Compare.Types.CompareResult.Greater;
                break;

            case Op.LESS:
                compare.Result = Compare.Types.CompareResult.Less;
                break;

            default:
                throw new Exception("Unexpected compare type (" + this.op + ")");
            }

            Compare.Types.CompareTarget target = this.target.GetTarget();
            Object value = this.target.GetTargetValue();

            compare.Target = target;
            switch (target)
            {
            case Compare.Types.CompareTarget.Version:
                compare.Version = (long)value;
                break;

            case Compare.Types.CompareTarget.Value:
                compare.Value = (ByteString)value;
                break;

            case Compare.Types.CompareTarget.Mod:

                compare.ModRevision = (long)value;
                break;

            case Compare.Types.CompareTarget.Create:
                compare.CreateRevision = (long)value;
                break;

            default:
                throw new  Exception("Unexpected target type (" + target + ")");
            }

            return(compare);
        }
Exemplo n.º 2
0
 protected CmpTarget(Compare.Types.CompareTarget target, T targetValue)
 {
     this.target      = target;
     this.targetValue = targetValue;
 }