private SimpleFieldDescription CreateField(TypeName declaredOn, IReflectField field, Func <IReflectClass, ITypeDescription> typeLookUp) { var fieldType = typeLookUp(field.GetFieldType()); return(SimpleFieldDescription.Create(field.GetName(), fieldType, IndexLookUp(declaredOn, field.GetName(), fieldType.TypeName))); }
private void RenderSubObject(TreeGridNode parentNode, object parentObj, IReflectField field) { try { TreeGridNode objectNode = new TreeGridNode(); parentNode.Nodes.Add(objectNode); object value = field.Get(parentObj); if (value != null) { container.Ext().Activate(value, 1); } objectNode.Tag = value; IType fieldType = ResolveFieldType(field); objectNode.Cells[0].Value = AppendIDTo(field.GetName(), GetLocalID(value), fieldType); objectNode.Cells[1].Value = value != null?value.ToString() : BusinessConstants.DB4OBJECTS_NULL; SetFieldType(objectNode, fieldType); if (parentNode.Tag is DictionaryEntry && field.GetName() == BusinessConstants.DB4OBJECTS_KEY) { objectNode.Cells[1].ReadOnly = true; } else if (parentNode.Tag is DictionaryEntry && field.GetName() == BusinessConstants.DB4OBJECTS_VALUE) { objectNode.Cells[1].ReadOnly = checkReadonlyStatus(); } else if (field.Get(parentObj) == null) { objectNode.Cells[1].ReadOnly = true; } else { objectNode.Cells[1].ReadOnly = true; } objectNode.ImageIndex = 0; //class if (value != null) { //container = Db4oClient.Client; //container.Ext().Activate(value, 2); TreeGridNode treenodeDummyChildNode = new TreeGridNode(); objectNode.Nodes.Add(treenodeDummyChildNode); treenodeDummyChildNode.Cells[0].Value = BusinessConstants.DB4OBJECTS_DUMMY; } } catch (Exception oEx) { LoggingHelper.HandleException(oEx); } }
public List <TreeGridViewRenderer> CreateCollectionNode(IReflectField field, object ownerObject, int count) { try { TreeGridViewRenderer TreeviewRenderer = new TreeGridViewRenderer(); TreeviewRenderer.DisplayFieldName = field.GetName() + " ( " + count + " items )"; TreeviewRenderer.FieldName = field.GetName(); TreeviewRenderer.FieldType = field.GetName(); TreeviewRenderer.QualifiedName = field.GetFieldType().GetName(); TreeviewRenderer.ObjectId = 0; if (ownerObject != null) { TreeviewRenderer.FieldValue = ownerObject.ToString(); } else { TreeviewRenderer.FieldValue = BusinessConstants.DB4OBJECTS_NULL; } if (count == 0) { TreeviewRenderer.HasSubNode = false; } else { TreeviewRenderer.HasSubNode = true; long id = GetLocalID(ownerObject); if (ownerObject is GenericObject || ownerObject is GenericArray) { TreeviewRenderer.ObjectId = id; } else if (id != 0) { TreeviewRenderer.ObjectId = id; } else { TreeviewRenderer.SubObject = ownerObject; } } IType type = ResolveFieldType(field); TreeviewRenderer.FieldType = SetFieldType(type); TreeviewRenderer.ObjectType = type; TreeviewRenderer.ReadOnlyStatus = true; listTreeGridViewRenderers.Add(TreeviewRenderer); return(listTreeGridViewRenderers); } catch (Exception oEx) { LoggingHelper.HandleException(oEx); return(null); } }
private TreeGridViewRenderer FillValuesInTreeGridViewRenderer(IReflectField field, IType type, object value) { TreeGridViewRenderer treeGridViewRenderer = new TreeGridViewRenderer(); treeGridViewRenderer.DisplayFieldName = field.GetName(); treeGridViewRenderer.FieldName = field.GetName(); treeGridViewRenderer.FieldValue = value != null?value.ToString() : BusinessConstants.DB4OBJECTS_NULL; treeGridViewRenderer.FieldType = SetFieldType(type); treeGridViewRenderer.ReadOnlyStatus = readOnly; treeGridViewRenderer.ObjectType = type; treeGridViewRenderer.ObjectId = 0; return(treeGridViewRenderer); }
public void CreateCollectionNode(IReflectField field, object ownerObject, ref TreeGridNode rootNode, string count) { try { TreeGridNode collNode = new TreeGridNode(); rootNode.Nodes.Add(collNode); collNode.Cells[1].ReadOnly = true; collNode.Cells[0].Value = field.GetName() + " ( " + count + " items )"; SetFieldType(collNode, ResolveFieldType(field)); if (ownerObject != null) { collNode.Cells[1].Value = ownerObject.ToString(); collNode.Tag = ownerObject; } else { collNode.Cells[1].Value = BusinessConstants.DB4OBJECTS_NULL; } collNode.ImageIndex = 1; //Collection if (Convert.ToInt32(count) > 0) { TreeGridNode treenodeDummyChildNode = new TreeGridNode(); collNode.Nodes.Add(treenodeDummyChildNode); treenodeDummyChildNode.Cells[0].Value = BusinessConstants.DB4OBJECTS_DUMMY; } } catch (Exception oEx) { LoggingHelper.HandleException(oEx); } }
public Db4oField(IReflectField storedField) { internalName = storedField.GetName(); name = AutomaticPropertyUtils.TryParseName(internalName); IReflectClass fieldType = storedField.GetFieldType(); if(fieldType!=null) DataType = fieldType.ToString(); }
private static FieldProperties FieldPropertiesFor(string className, IReflectField field) { FieldProperties fp = new FieldProperties(field.GetName(), field.GetFieldType().GetName()); FieldDetails fd = new FieldDetails(className, fp.Field); fp.m_isPublic = fd.GetModifier(); fp.m_isIndexed = fd.IsIndexed(); return(fp); }
public virtual IReflectField GetDeclaredField(string name) { for (int i = 0; i < _fields.Length; ++i) { IReflectField field = _fields[i]; if (field.GetName().Equals(name)) { return(field); } } return(null); }
internal FieldMetadata(ClassMetadata containingClass, IReflectField field, ClassMetadata fieldType) : this(containingClass) { Init(field.GetName()); _reflectField = field; _fieldType = fieldType; _fieldTypeID = fieldType.GetID(); // TODO: beautify !!! possibly pull up isPrimitive to ReflectField bool isPrimitive = field is GenericField ? ((GenericField)field).IsPrimitive() : false; Configure(field.GetFieldType(), isPrimitive); CheckDb4oType(); SetAvailable(); }
private void ScanThroughKnownClassesInfo(IObjectContainer db) { IReflectClass[] clazzArray = db.Ext().KnownClasses(); for (int clazzIndex = 0; clazzIndex < clazzArray.Length; ++clazzIndex) { IReflectClass clazz = clazzArray[clazzIndex]; IReflectField[] fieldArray = clazz.GetDeclaredFields(); for (int fieldIndex = 0; fieldIndex < fieldArray.Length; ++fieldIndex) { IReflectField field = fieldArray[fieldIndex]; field.GetName(); field.GetFieldType(); } } }
public void CreatePrimitiveNode(IReflectField field, object currObj, IType type) { try { object value = field.Get(currObj); var treeGridViewRenderer = FillValuesInTreeGridViewRenderer(field, type, value); if (currObj is IDictionary) { treeGridViewRenderer.ReadOnlyStatus = field.GetName() != BusinessConstants.DB4OBJECTS_VALUE1; treeGridViewRenderer.HasSubNode = true; treeGridViewRenderer.SubObject = currObj; } listTreeGridViewRenderers.Add(treeGridViewRenderer); } catch (Exception oEx) { LoggingHelper.HandleException(oEx); } }
private FieldInfo[] MapFields(IReflectField[] fields, bool shouldStoreTransientFields ) { if (!shouldStoreTransientFields) { fields = FilterTransientFields(fields); } FieldInfo[] fieldsMeta = new FieldInfo[fields.Length]; for (int i = 0; i < fields.Length; ++i) { IReflectField field = fields[i]; bool isArray = field.GetFieldType().IsArray(); IReflectClass fieldClass = isArray ? field.GetFieldType().GetComponentType() : field .GetFieldType(); bool isPrimitive = fieldClass.IsPrimitive(); // TODO: need to handle NArray, currently it ignores NArray and alway sets NArray flag false. fieldsMeta[i] = new FieldInfo(field.GetName(), GetClassMeta(fieldClass), isPrimitive , isArray, false); } return(fieldsMeta); }
private SimpleFieldDescription CreateField(TypeName declaredOn, IReflectField field, Func<IReflectClass, ITypeDescription> typeLookUp) { var fieldType = typeLookUp(field.GetFieldType()); return SimpleFieldDescription.Create(field.GetName(), fieldType, IndexLookUp(declaredOn, field.GetName(), fieldType.TypeName)); }
private static FieldProperties FieldPropertiesFor(string className, IReflectField field) { FieldProperties fp = new FieldProperties(field.GetName(), field.GetFieldType().GetName()); FieldDetails fd = new FieldDetails(className, fp.Field); fp.m_isPublic = fd.GetModifier(); fp.m_isIndexed = fd.IsIndexed(); return fp; }
private void RenderSubObject(long id, IReflectField field) { try { object currObj = Db4oClient.Client.Ext().GetByID(id); object value = field.Get(currObj); IType type = ResolveFieldType(field); if (value != null) { container.Ext().Activate(value, 1); if(value.GetType().IsArray) { RenderArray(id, field); return; } } if (GetLocalID(value) == 0) { CreateSimplePrimitiveNode(field, value, type); } else { TreeGridViewRenderer treeGridViewRenderer = new TreeGridViewRenderer(); treeGridViewRenderer.DisplayFieldName = AppendIDTo(field.GetName(), GetLocalID(value), type); treeGridViewRenderer.FieldName = field.GetName(); treeGridViewRenderer.FieldValue = value != null ? type.FullName : BusinessConstants.DB4OBJECTS_NULL; treeGridViewRenderer.QualifiedName = field.GetFieldType().GetName(); treeGridViewRenderer.FieldType = SetFieldType(type); treeGridViewRenderer.ReadOnlyStatus = readOnly; treeGridViewRenderer.ObjectId = GetLocalID(value); treeGridViewRenderer.ObjectType = type; treeGridViewRenderer.HasSubNode = type.IsCollection || type.IsArray; if (treeGridViewRenderer.HasSubNode) { long longid = GetLocalID(value); if (value is GenericObject) treeGridViewRenderer.ObjectId = longid; else if (longid != 0) treeGridViewRenderer.ObjectId = longid; else { treeGridViewRenderer.SubObject = value; } } listTreeGridViewRenderers.Add(treeGridViewRenderer); if (currObj is DictionaryEntry && field.GetName() == BusinessConstants.DB4OBJECTS_KEY) treeGridViewRenderer.ReadOnlyStatus = true; else if (currObj is DictionaryEntry && field.GetName() == BusinessConstants.DB4OBJECTS_VALUE) treeGridViewRenderer.ReadOnlyStatus = readOnly; else if (field.Get(currObj) == null) treeGridViewRenderer.ReadOnlyStatus = true; else treeGridViewRenderer.ReadOnlyStatus = true; } } catch (Exception oEx) { LoggingHelper.HandleException(oEx); } }
protected virtual StaticField ToStaticField(IReflectField reflectField) { return new StaticField(reflectField.GetName(), StaticReflectFieldValue(reflectField )); }
public List<TreeGridViewRenderer > CreateCollectionNode(IReflectField field, object ownerObject, int count) { try { TreeGridViewRenderer TreeviewRenderer = new TreeGridViewRenderer(); TreeviewRenderer.DisplayFieldName = field.GetName() + " ( " + count + " items )"; TreeviewRenderer.FieldName = field.GetName(); TreeviewRenderer.FieldType = field.GetName(); TreeviewRenderer.QualifiedName = field.GetFieldType().GetName(); TreeviewRenderer.ObjectId = 0; if (ownerObject != null) TreeviewRenderer.FieldValue = ownerObject.ToString(); else TreeviewRenderer.FieldValue = BusinessConstants.DB4OBJECTS_NULL; if (count == 0) TreeviewRenderer.HasSubNode = false; else { TreeviewRenderer.HasSubNode = true; long id = GetLocalID(ownerObject); if (ownerObject is GenericObject || ownerObject is GenericArray ) TreeviewRenderer.ObjectId = id; else if (id != 0) TreeviewRenderer.ObjectId = id; else TreeviewRenderer.SubObject = ownerObject; } IType type = ResolveFieldType(field); TreeviewRenderer.FieldType = SetFieldType(type ); TreeviewRenderer.ObjectType = type; TreeviewRenderer.ReadOnlyStatus = true ; listTreeGridViewRenderers.Add(TreeviewRenderer); return listTreeGridViewRenderers; } catch (Exception oEx) { LoggingHelper.HandleException(oEx); return null; } }
private TreeGridViewRenderer FillValuesInTreeGridViewRenderer(IReflectField field, IType type, object value) { TreeGridViewRenderer treeGridViewRenderer = new TreeGridViewRenderer(); treeGridViewRenderer.DisplayFieldName = field.GetName(); treeGridViewRenderer.FieldName = field.GetName(); treeGridViewRenderer.FieldValue = value != null ? value.ToString() : BusinessConstants.DB4OBJECTS_NULL; treeGridViewRenderer.FieldType = SetFieldType(type); treeGridViewRenderer.ReadOnlyStatus = readOnly; treeGridViewRenderer.ObjectType = type; treeGridViewRenderer.ObjectId = 0; return treeGridViewRenderer; }
private void RenderSubObject(TreeGridNode parentNode, object parentObj, IReflectField field) { try { TreeGridNode objectNode = new TreeGridNode(); parentNode.Nodes.Add(objectNode); object value = field.Get(parentObj); if (value != null) { container.Ext().Activate(value, 1); } objectNode.Tag = value; IType fieldType = ResolveFieldType(field); objectNode.Cells[0].Value = AppendIDTo(field.GetName(), GetLocalID(value), fieldType); objectNode.Cells[1].Value = value != null ? value.ToString() : BusinessConstants.DB4OBJECTS_NULL; SetFieldType(objectNode, fieldType); if (parentNode.Tag is DictionaryEntry && field.GetName() == BusinessConstants.DB4OBJECTS_KEY) objectNode.Cells[1].ReadOnly = true; else if (parentNode.Tag is DictionaryEntry && field.GetName() == BusinessConstants.DB4OBJECTS_VALUE) objectNode.Cells[1].ReadOnly = checkReadonlyStatus(); else if (field.Get(parentObj) == null) objectNode.Cells[1].ReadOnly = true; else objectNode.Cells[1].ReadOnly = true; objectNode.ImageIndex = 0; //class if (value != null) { //container = Db4oClient.Client; //container.Ext().Activate(value, 2); TreeGridNode treenodeDummyChildNode = new TreeGridNode(); objectNode.Nodes.Add(treenodeDummyChildNode); treenodeDummyChildNode.Cells[0].Value = BusinessConstants.DB4OBJECTS_DUMMY; } } catch (Exception oEx) { LoggingHelper.HandleException(oEx); } }
private void RenderSubObject(long id, IReflectField field) { try { object currObj = Db4oClient.Client.Ext().GetByID(id); object value = field.Get(currObj); IType type = ResolveFieldType(field); if (value != null) { container.Ext().Activate(value, 1); if (value.GetType().IsArray) { RenderArray(id, field); return; } } if (GetLocalID(value) == 0) { CreateSimplePrimitiveNode(field, value, type); } else { TreeGridViewRenderer treeGridViewRenderer = new TreeGridViewRenderer(); treeGridViewRenderer.DisplayFieldName = AppendIDTo(field.GetName(), GetLocalID(value), type); treeGridViewRenderer.FieldName = field.GetName(); treeGridViewRenderer.FieldValue = value != null ? type.FullName : BusinessConstants.DB4OBJECTS_NULL; treeGridViewRenderer.QualifiedName = field.GetFieldType().GetName(); treeGridViewRenderer.FieldType = SetFieldType(type); treeGridViewRenderer.ReadOnlyStatus = readOnly; treeGridViewRenderer.ObjectId = GetLocalID(value); treeGridViewRenderer.ObjectType = type; treeGridViewRenderer.HasSubNode = type.IsCollection || type.IsArray; if (treeGridViewRenderer.HasSubNode) { long longid = GetLocalID(value); if (value is GenericObject) { treeGridViewRenderer.ObjectId = longid; } else if (longid != 0) { treeGridViewRenderer.ObjectId = longid; } else { treeGridViewRenderer.SubObject = value; } } listTreeGridViewRenderers.Add(treeGridViewRenderer); if (currObj is DictionaryEntry && field.GetName() == BusinessConstants.DB4OBJECTS_KEY) { treeGridViewRenderer.ReadOnlyStatus = true; } else if (currObj is DictionaryEntry && field.GetName() == BusinessConstants.DB4OBJECTS_VALUE) { treeGridViewRenderer.ReadOnlyStatus = readOnly; } else if (field.Get(currObj) == null) { treeGridViewRenderer.ReadOnlyStatus = true; } else { treeGridViewRenderer.ReadOnlyStatus = true; } } } catch (Exception oEx) { LoggingHelper.HandleException(oEx); } }