예제 #1
0
        public override bool Equals(Object obj)
        {
            if (this == obj)
            {
                return(true);
            }
            if (obj == null)
            {
                return(false);
            }
            if ((this.GetType() != obj.GetType()))
            {
                return(false);
            }

            BaseOpaqueData other = (BaseOpaqueData)obj;

            if (ascii == null)
            {
                if (other.ascii != null)
                {
                    return(false);
                }
            }
            else if (!ascii.Equals(other.ascii))
            {
                return(false);
            }
            if (!Array.Equals(hex, other.hex))
            {
                return(false);
            }
            return(true);
        }
        public bool Matches(opaqueDataListOptionType that, @operator op)
        {
            if (that != null)
            {
                List <opaqueData> opaqueList = that.opaqueData;
                if (opaqueList != null)
                {
                    if (op.Equals(@operator.equals))
                    {
                        if (opaqueList.Count != opaqueDataList.Count)
                        {
                            return(false);
                        }
                        for (int i = 0; i < opaqueList.Count; i++)
                        {
                            BaseOpaqueData opaque   = new BaseOpaqueData(opaqueList[i]);
                            BaseOpaqueData myOpaque = opaqueDataList[i];
                            if (!OpaqueDataUtil.Equals(opaque, myOpaque))
                            {
                                return(false);
                            }
                        }
                        return(true);
                    }
                    else if (op.Equals(@operator.contains))
                    {
                        if (opaqueList.Count > opaqueDataList.Count)
                        {
                            return(false);
                        }
                        for (int i = 0; i < opaqueList.Count; i++)
                        {
                            BaseOpaqueData opaque = new BaseOpaqueData(opaqueList[i]);
                            bool           found  = false;
                            for (int j = 0; j < opaqueDataList.Count; j++)
                            {
                                BaseOpaqueData myOpaque = opaqueDataList[j];
                                if (OpaqueDataUtil.Equals(opaque, myOpaque))
                                {
                                    found = true;
                                    break;
                                }
                            }
                            if (!found)
                            {
                                return(false);
                            }
                        }
                        return(true);
                    }
                    else
                    {
                        log.Warn("Unsupported expression operator: " + op);
                    }
                }
            }

            return(false);
        }
 public void addOpaqueData(byte[] opaqueData)
 {
     if (opaqueData != null)
     {
         BaseOpaqueData opaque = new BaseOpaqueData(opaqueData);
         AddOpaqueData(opaque);
     }
 }
 public void AddOpaqueData(String opaqueString)
 {
     if (opaqueString != null)
     {
         BaseOpaqueData opaque = new BaseOpaqueData(opaqueString);
         AddOpaqueData(opaque);
     }
 }
 public void AddOpaqueData(BaseOpaqueData baseOpaque)
 {
     if (baseOpaque != null)
     {
         if (opaqueDataList == null)
         {
             opaqueDataList = new List <BaseOpaqueData>();
         }
         opaqueDataList.Add(baseOpaque);
     }
 }
예제 #6
0
 public BaseOpaqueDataOption(opaqueDataOptionType opaqueDataOption) :
     base()
 {
     if (((opaqueDataOption != null) &&
          (opaqueDataOption.opaqueData != null)))
     {
         this.opaqueData = new BaseOpaqueData(opaqueDataOption.opaqueData);
     }
     else
     {
         this.opaqueData = new BaseOpaqueData();
     }
 }
        public override void Decode(ByteBuffer buf)
        {
            int len = base.DecodeLength(buf);

            if ((len > 0) && (len <= buf.remaining()))
            {
                long eof = buf.position() + len;
                while (buf.position() < eof)
                {
                    BaseOpaqueData opaque = new BaseOpaqueData();
                    opaque.DecodeLengthAndData(buf);
                    AddOpaqueData(opaque);
                }
            }
        }
예제 #8
0
 public void SetOpaqueData(BaseOpaqueData opaqueData)
 {
     this.opaqueData = opaqueData;
 }