private void CheckCorrectTypeForField() { ClassMetadata currentFieldType = DetectFieldType(); if (currentFieldType == null) { _reflectField = null; _state = FieldMetadataState.Unavailable; return; } if (currentFieldType == _fieldType && Handlers4.BaseType(_reflectField.GetFieldType ()).IsPrimitive() == _isPrimitive) { return; } // special case when migrating from type handler ids // to class metadata ids which caused // any interface metadata id to be mapped to UNTYPED_ID if (Handlers4.IsUntyped(currentFieldType.TypeHandler()) && Handlers4.IsUntyped(_fieldType .TypeHandler())) { return; } // FIXME: COR-547 Diagnostics here please. _state = FieldMetadataState.Updating; }
private bool Load() { if (_fieldType == null) { // this may happen if the local ClassMetadataRepository // has not been updated from the server and presumably // in some refactoring cases. // We try to heal the problem by re-reading the class. // This could be dangerous, if the class type of a field // has been modified. // TODO: add class refactoring features _fieldType = DetectFieldType(); CheckFieldTypeID(); } CheckCorrectTypeForField(); if (_fieldType == null || _reflectField == null) { _state = FieldMetadataState.Unavailable; _reflectField = null; return(false); } if (Updating()) { return(false); } SetAvailable(); CheckDb4oType(); return(true); }
internal virtual void Refresh() { ClassMetadata newFieldType = DetectFieldType(); if (newFieldType != null && newFieldType.Equals(_fieldType)) { return; } _reflectField = null; _state = FieldMetadataState.Unavailable; }
protected virtual void SetAvailable() { _state = FieldMetadataState.Available; }
private void CheckCorrectTypeForField() { ClassMetadata currentFieldType = DetectFieldType(); if (currentFieldType == null) { _reflectField = null; _state = FieldMetadataState.Unavailable; return; } if (currentFieldType == _fieldType && Handlers4.BaseType(_reflectField.GetFieldType ()).IsPrimitive() == _isPrimitive) { return; } // special case when migrating from type handler ids // to class metadata ids which caused // any interface metadata id to be mapped to UNTYPED_ID if (Handlers4.IsUntyped(currentFieldType.TypeHandler()) && Handlers4.IsUntyped(_fieldType .TypeHandler())) { return; } // FIXME: COR-547 Diagnostics here please. _state = FieldMetadataState.Updating; }
private bool Load() { if (_fieldType == null) { // this may happen if the local ClassMetadataRepository // has not been updated from the server and presumably // in some refactoring cases. // We try to heal the problem by re-reading the class. // This could be dangerous, if the class type of a field // has been modified. // TODO: add class refactoring features _fieldType = DetectFieldType(); CheckFieldTypeID(); } CheckCorrectTypeForField(); if (_fieldType == null || _reflectField == null) { _state = FieldMetadataState.Unavailable; _reflectField = null; return false; } if (Updating()) { return false; } SetAvailable(); CheckDb4oType(); return true; }
protected virtual void SetAvailable() { _state = FieldMetadataState.Available; }
internal virtual void Refresh() { ClassMetadata newFieldType = DetectFieldType(); if (newFieldType != null && newFieldType.Equals(_fieldType)) { return; } _reflectField = null; _state = FieldMetadataState.Unavailable; }