Esempio n. 1
0
        bool MatchesFilters(Resource e, VarOrAnchor var, SelectableSource targetModel)
        {
            if (!var.IsVariable)
            {
                return(true);
            }

            /*foreach (ValueFilter f in variables[var.VarIndex].Filters) {
             *      if (!f.Filter(e, targetModel)) return false;
             * }*/
            return(true);
        }
Esempio n. 2
0
 private int IsUnbound(VarOrAnchor e, BindingSet bindings)
 {
     if (!e.IsVariable)
     {
         return(0);
     }
     if (bindings.Union.Bindings[e.VarIndex] == null)
     {
         return(1);
     }
     return(0);
 }
Esempio n. 3
0
 private void InitSetStatement(Resource ent, ref VarOrAnchor st, Hashtable varIndex)
 {
     if (!varIndex.ContainsKey(ent))
     {
         st.IsVariable = false;
         st.Anchor     = ent;
     }
     else
     {
         st.IsVariable = true;
         st.VarIndex   = (int)varIndex[ent];
     }
 }
Esempio n. 4
0
 private int IsMultiplyBound(VarOrAnchor e, BindingSet bindings)
 {
     if (!e.IsVariable)
     {
         return(0);
     }
     if (bindings.Union.Bindings[e.VarIndex] == null)
     {
         return(0);
     }
     if (bindings.Union.Bindings[e.VarIndex].Items.Count == 1)
     {
         return(0);
     }
     return(1);
 }
Esempio n. 5
0
 private static IEnumerator GetBindings(VarOrAnchor e, QueryResult bindings)
 {
     if (!e.IsVariable)
     {
         if (e.ArrayOfAnchor == null)
         {
             e.ArrayOfAnchor = new Resource[] { e.Anchor }
         }
         ;
         return(e.ArrayOfAnchor.GetEnumerator());
     }
     if (bindings.Bindings[e.VarIndex] == null)
     {
         return(ResourceArrayNull.GetEnumerator());
     }
     return(bindings.Bindings[e.VarIndex].Items.GetEnumerator());
 }
Esempio n. 6
0
 private Resource GetUniqueBinding(VarOrAnchor e, BindingSet bindings)
 {
     if (!e.IsVariable)
     {
         return(e.Anchor);
     }
     if (bindings.Union.Bindings[e.VarIndex] == null || bindings.Union.Bindings[e.VarIndex].Count == 0)
     {
         return(null);
     }
     if (bindings.Union.Bindings[e.VarIndex].Count > 1)
     {
         throw new Exception();
     }
     foreach (Resource r in bindings.Union.Bindings[e.VarIndex].Items)
     {
         return(r);
     }
     throw new Exception();
 }
Esempio n. 7
0
		private void InitSetStatement(Resource ent, ref VarOrAnchor st, Hashtable varIndex) {
			if (!varIndex.ContainsKey(ent)) {
				st.IsVariable = false;
				st.Anchor = ent;
			} else {
				st.IsVariable = true;
				st.VarIndex = (int)varIndex[ent];
			}
		}
Esempio n. 8
0
		bool MatchesFilters(Resource e, VarOrAnchor var, SelectableSource targetModel) {
			if (!var.IsVariable) return true;
			/*foreach (ValueFilter f in variables[var.VarIndex].Filters) {
				if (!f.Filter(e, targetModel)) return false;
			}*/
			return true;
		}
Esempio n. 9
0
		private Resource GetUniqueBinding(VarOrAnchor e, BindingSet bindings) {
			if (!e.IsVariable) return e.Anchor;
			if (bindings.Union.Bindings[e.VarIndex] == null || bindings.Union.Bindings[e.VarIndex].Count == 0) return null;
			if (bindings.Union.Bindings[e.VarIndex].Count > 1) throw new Exception();
			foreach (Resource r in bindings.Union.Bindings[e.VarIndex].Items)
				return r;
			throw new Exception();
		}
Esempio n. 10
0
		private int IsUnbound(VarOrAnchor e, BindingSet bindings) {
			if (!e.IsVariable) return 0;
			if (bindings.Union.Bindings[e.VarIndex] == null) return 1;
			return 0;
		}
Esempio n. 11
0
		private int IsMultiplyBound(VarOrAnchor e, BindingSet bindings) {
			if (!e.IsVariable) return 0;
			if (bindings.Union.Bindings[e.VarIndex] == null) return 0;
			if (bindings.Union.Bindings[e.VarIndex].Items.Count == 1) return 0;
			return 1;
		}
Esempio n. 12
0
		private static IEnumerator GetBindings(VarOrAnchor e, QueryResult bindings) {
			if (!e.IsVariable) {
				if (e.ArrayOfAnchor == null)
					e.ArrayOfAnchor = new Resource[] { e.Anchor };
				return e.ArrayOfAnchor.GetEnumerator();
			}
			if (bindings.Bindings[e.VarIndex] == null) return ResourceArrayNull.GetEnumerator();
			return bindings.Bindings[e.VarIndex].Items.GetEnumerator();
		}