Beispiel #1
0
 internal virtual ClassMetadata GetFieldType()
 {
     if (_fieldMetadata != null)
     {
         return(_fieldMetadata.FieldType());
     }
     return(null);
 }
Beispiel #2
0
        private IList ResolveFieldPath(string[] fieldPath)
        {
            IList         fields      = new ArrayList(fieldPath.Length);
            ClassMetadata currentType = _extentType;

            for (int fieldNameIndex = 0; fieldNameIndex < fieldPath.Length; ++fieldNameIndex)
            {
                string        fieldName = fieldPath[fieldNameIndex];
                FieldMetadata field     = currentType.FieldMetadataForName(fieldName);
                currentType = field.FieldType();
                fields.Add(field);
            }
            return(fields);
        }
Beispiel #3
0
        private static bool CanFollowParent(QCon con)
        {
            QCon          parent      = con.Parent();
            FieldMetadata parentField = GetYapField(parent);

            if (null == parentField)
            {
                return(false);
            }
            FieldMetadata conField = GetYapField(con);

            if (null == conField)
            {
                return(false);
            }
            return(parentField.HasIndex() && parentField.FieldType().IsAssignableFrom(conField
                                                                                      .ContainingClass()));
        }