public override IFieldHandler CreateFromType(Type type, FieldHandlerOptions options) { var result = base.CreateFromType(type, options); if (result != null) return result; if (ServiceObjectFieldHandler.IsCompatibleWith(type)) return new ServiceObjectFieldHandler(_service, type); return null; }
public virtual IFieldHandler CreateFromType(Type type, FieldHandlerOptions options) { if (EnumFieldHandler.IsCompatibleWith(type)) { return(new EnumFieldHandler(type)); } foreach (var fieldHandler in BasicSerializersFactory.FieldHandlers) { if (fieldHandler.IsCompatibleWith(type, options)) { return(fieldHandler); } } if (ListFieldHandler.IsCompatibleWith(type)) { return(new ListFieldHandler(_provider.FieldHandlerFactory, _provider.TypeConvertorGenerator, type)); } if (DictionaryFieldHandler.IsCompatibleWith(type)) { return(new DictionaryFieldHandler(_provider.FieldHandlerFactory, _provider.TypeConvertorGenerator, type)); } if (NullableFieldHandler.IsCompatibleWith(type)) { return(new NullableFieldHandler(_provider.FieldHandlerFactory, _provider.TypeConvertorGenerator, type)); } return(null); }
public override IFieldHandler CreateFromName(string handlerName, byte[] configuration, FieldHandlerOptions options) { var result = base.CreateFromName(handlerName, configuration, options); if (result != null) return result; if (handlerName == ServiceObjectFieldHandler.HandlerName) return new ServiceObjectFieldHandler(_service, configuration); return null; }
public static TableFieldInfo Build(string tableName, PropertyInfo pi, IFieldHandlerFactory fieldHandlerFactory, FieldHandlerOptions handlerOptions) { var fieldHandler = fieldHandlerFactory.CreateFromType(pi.PropertyType, handlerOptions); if (fieldHandler == null) throw new BTDBException(string.Format("FieldHandlerFactory did not build property {0} of type {2} in {1}", pi.Name, tableName, pi.PropertyType.FullName)); var a = pi.GetCustomAttribute<PersistedNameAttribute>(); return new TableFieldInfo(a != null ? a.Name : pi.Name, fieldHandler); }
public override bool IsCompatibleWith(Type type, FieldHandlerOptions options) { if ((options & FieldHandlerOptions.Orderable) == 0) { return(false); } return(base.IsCompatibleWith(type, options)); }
public static bool IsCompatibleWithStatic(Type type, FieldHandlerOptions options) { if ((options & FieldHandlerOptions.Orderable) != 0) { return(false); } return(type.IsGenericType && IsCompatibleWithCore(type)); }
public bool IsCompatibleWith(Type type, FieldHandlerOptions options) { if ((options & FieldHandlerOptions.Orderable) != 0) { return(false); } return(IsCompatibleWith(type)); }
public override IFieldHandler CreateFromName(string handlerName, byte[] configuration, FieldHandlerOptions options) { if (handlerName == ODBDictionaryFieldHandler.HandlerName) return new ODBDictionaryFieldHandler(_odb, configuration); var result = base.CreateFromName(handlerName, configuration, options); if (result != null) return result; if (handlerName == DBObjectFieldHandler.HandlerName) return new DBObjectFieldHandler(_odb, configuration); return null; }
public static IFieldHandler CreateFromReader(this IFieldHandlerFactory factory, AbstractBufferedReader reader, FieldHandlerOptions options) { var handlerName = reader.ReadString(); var handlerConfiguration = reader.ReadByteArray(); return(factory.CreateFromName(handlerName, handlerConfiguration, options)); }
public override IFieldHandler CreateFromType(Type type, FieldHandlerOptions options) { if (ODBDictionaryFieldHandler.IsCompatibleWithStatic(type, options)) return new ODBDictionaryFieldHandler(_odb, type, false, this); var result = base.CreateFromType(type, options); if (result != null) return result; if (DBObjectFieldHandler.IsCompatibleWith(type)) return new DBObjectFieldHandler(_odb, type); return null; }
UnresolvedTableFieldInfo(string name, string handlerName, byte[] configuration, string tableName, FieldHandlerOptions handlerOptions) : base(name, null) { _handlerName = handlerName; _configuration = configuration; _tableName = tableName; _handlerOptions = handlerOptions; }
internal static UnresolvedTableFieldInfo Load(AbstractBufferedReader reader, string tableName, FieldHandlerOptions handlerOptions) { var name = reader.ReadString(); var handlerName = reader.ReadString(); var configuration = reader.ReadByteArray(); return(new UnresolvedTableFieldInfo(name, handlerName, configuration, tableName, handlerOptions)); }
public virtual IFieldHandler CreateFromType(Type type, FieldHandlerOptions options) { if (EnumFieldHandler.IsCompatibleWith(type)) return new EnumFieldHandler(type); foreach (var fieldHandler in BasicSerializersFactory.FieldHandlers) { if (fieldHandler.IsCompatibleWith(type, options)) return fieldHandler; } if (ListFieldHandler.IsCompatibleWith(type)) return new ListFieldHandler(_provider.FieldHandlerFactory, _provider.TypeConvertorGenerator, type); if (DictionaryFieldHandler.IsCompatibleWith(type)) return new DictionaryFieldHandler(_provider.FieldHandlerFactory, _provider.TypeConvertorGenerator, type); return null; }
internal static TableFieldInfo Load(AbstractBufferedReader reader, IFieldHandlerFactory fieldHandlerFactory, string tableName, FieldHandlerOptions handlerOptions) { var name = reader.ReadString(); var handlerName = reader.ReadString(); var configuration = reader.ReadByteArray(); var fieldHandler = fieldHandlerFactory.CreateFromName(handlerName, configuration, handlerOptions); if (fieldHandler == null) throw new BTDBException( $"FieldHandlerFactory did not created handler {handlerName} in {tableName}.{name}"); return new TableFieldInfo(name, fieldHandler); }
public static TableFieldInfo Build(string tableName, PropertyInfo pi, IFieldHandlerFactory fieldHandlerFactory, FieldHandlerOptions handlerOptions) { var fieldHandler = fieldHandlerFactory.CreateFromType(pi.PropertyType, handlerOptions); if (fieldHandler == null) { throw new BTDBException(string.Format("FieldHandlerFactory did not build property {0} of type {2} in {1}", pi.Name, tableName, pi.PropertyType.FullName)); } var a = pi.GetCustomAttribute <PersistedNameAttribute>(); return(new TableFieldInfo(a != null ? a.Name : pi.Name, fieldHandler)); }
public override IFieldHandler CreateFromType(Type type, FieldHandlerOptions options) { var result = base.CreateFromType(type, options); if (result != null) { return(result); } if (ServiceObjectFieldHandler.IsCompatibleWith(type)) { return(new ServiceObjectFieldHandler(_service, type)); } return(null); }
internal static TableFieldInfo Load(AbstractBufferedReader reader, IFieldHandlerFactory fieldHandlerFactory, string tableName, FieldHandlerOptions handlerOptions) { var name = reader.ReadString(); var handlerName = reader.ReadString(); var configuration = reader.ReadByteArray(); var fieldHandler = fieldHandlerFactory.CreateFromName(handlerName !, configuration, handlerOptions); if (fieldHandler == null) { throw new BTDBException( $"FieldHandlerFactory did not created handler {handlerName} in {tableName}.{name}"); } return(new TableFieldInfo(name !, fieldHandler)); }
public override IFieldHandler CreateFromType(Type type, FieldHandlerOptions options) { if (ODBDictionaryFieldHandler.IsCompatibleWithStatic(type, options)) { return(new ODBDictionaryFieldHandler(_odb, type, false, this)); } var result = base.CreateFromType(type, options); if (result != null) { return(result); } if (DBObjectFieldHandler.IsCompatibleWith(type)) { return(new DBObjectFieldHandler(_odb, type)); } return(null); }
public virtual IFieldHandler CreateFromName(string handlerName, byte[] configuration, FieldHandlerOptions options) { IFieldHandler fallbackFieldHandler = null; foreach (var fieldHandler in BasicSerializersFactory.FieldHandlers) { if (fieldHandler.Name == handlerName) { fallbackFieldHandler = fieldHandler; if (fieldHandler.IsCompatibleWith(fieldHandler.HandledType(), options)) return fieldHandler; } } if (fallbackFieldHandler != null) return fallbackFieldHandler; if (handlerName == EnumFieldHandler.HandlerName) return new EnumFieldHandler(configuration); if (handlerName == ListFieldHandler.HandlerName) return new ListFieldHandler(_provider.FieldHandlerFactory, _provider.TypeConvertorGenerator, configuration); if (handlerName == DictionaryFieldHandler.HandlerName) return new DictionaryFieldHandler(_provider.FieldHandlerFactory, _provider.TypeConvertorGenerator, configuration); return null; }
public override IFieldHandler CreateFromName(string handlerName, byte[] configuration, FieldHandlerOptions options) { var result = base.CreateFromName(handlerName, configuration, options); if (result != null) { return(result); } if (handlerName == ServiceObjectFieldHandler.HandlerName) { return(new ServiceObjectFieldHandler(_service, configuration)); } return(null); }
public bool IsCompatibleWith(Type type, FieldHandlerOptions options) { return(_type == type); }
public bool IsCompatibleWith(Type type, FieldHandlerOptions options) { return(options.HasFlag(FieldHandlerOptions.Orderable) && typeof(EncryptedString) == type); }
public virtual bool IsCompatibleWith(Type type, FieldHandlerOptions options) { return _loader.ReturnType == type; }
public bool IsCompatibleWith(Type type, FieldHandlerOptions options) { return typeof(ByteBuffer) == type; }
public override bool IsCompatibleWith(Type type, FieldHandlerOptions options) { if ((options & FieldHandlerOptions.AtEndOfStream) == 0) return false; return base.IsCompatibleWith(type, options); }
public virtual bool IsCompatibleWith(Type type, FieldHandlerOptions options) { return(typeof(byte[]) == type || typeof(ByteBuffer) == type); }
public bool IsCompatibleWith(Type type, FieldHandlerOptions options) { return(IsCompatibleWithStatic(type, options)); }
public override IFieldHandler CreateFromType(Type type, FieldHandlerOptions options) { if (ODBDictionaryFieldHandler.IsCompatibleWithStatic(type, options)) return new ODBDictionaryFieldHandler(_odb, type, true, this); return base.CreateFromType(type, options); }
public bool IsCompatibleWith(Type type, FieldHandlerOptions options) { return _type == type; }
public bool IsCompatibleWith(Type type, FieldHandlerOptions options) { if ((options & FieldHandlerOptions.Orderable) != 0) return false; return IsCompatibleWith(type); }
public static bool IsCompatibleWithStatic(Type type, FieldHandlerOptions options) { if (options.HasFlag(FieldHandlerOptions.Orderable)) return false; if (!type.IsGenericType) return false; return IsCompatibleWithCore(type); }
public override bool IsCompatibleWith(Type type, FieldHandlerOptions options) { return(IsCompatibleWith(type)); }
public virtual IFieldHandler CreateFromName(string handlerName, byte[] configuration, FieldHandlerOptions options) { IFieldHandler fallbackFieldHandler = null; foreach (var fieldHandler in BasicSerializersFactory.FieldHandlers) { if (fieldHandler.Name == handlerName) { fallbackFieldHandler = fieldHandler; if (fieldHandler.IsCompatibleWith(fieldHandler.HandledType(), options)) { return(fieldHandler); } } } if (fallbackFieldHandler != null) { return(fallbackFieldHandler); } if (handlerName == EnumFieldHandler.HandlerName) { return(new EnumFieldHandler(configuration)); } if (handlerName == ListFieldHandler.HandlerName) { return(new ListFieldHandler(_provider.FieldHandlerFactory, _provider.TypeConvertorGenerator, configuration)); } if (handlerName == DictionaryFieldHandler.HandlerName) { return(new DictionaryFieldHandler(_provider.FieldHandlerFactory, _provider.TypeConvertorGenerator, configuration)); } if (handlerName == NullableFieldHandler.HandlerName) { return(new NullableFieldHandler(_provider.FieldHandlerFactory, _provider.TypeConvertorGenerator, configuration)); } return(null); }
public override IFieldHandler?CreateFromName(string handlerName, byte[] configuration, FieldHandlerOptions options) { if (handlerName == ODBDictionaryFieldHandler.HandlerName) { return(new ODBDictionaryFieldHandler(_odb, configuration)); } if (handlerName == ODBSetFieldHandler.HandlerName) { return(new ODBSetFieldHandler(_odb, configuration)); } var result = base.CreateFromName(handlerName, configuration, options); if (result != null) { return(result); } if (handlerName == DBObjectFieldHandler.HandlerName) { return(new DBObjectFieldHandler(_odb, configuration)); } return(null); }
public virtual bool IsCompatibleWith(Type type, FieldHandlerOptions options) { return typeof(byte[]) == type || typeof(ByteBuffer) == type; }
public bool IsCompatibleWith(Type type, FieldHandlerOptions options) { return(typeof(ByteBuffer) == type); }
public override bool IsCompatibleWith(Type type, FieldHandlerOptions options) { if (!options.HasFlag(FieldHandlerOptions.Orderable)) return false; return base.IsCompatibleWith(type, options); }
public bool IsCompatibleWith(Type type, FieldHandlerOptions options) { return IsCompatibleWith(type); }
public virtual bool IsCompatibleWith(Type type, FieldHandlerOptions options) { return(_loader.ReturnType == type); }
public bool IsCompatibleWith(Type type, FieldHandlerOptions options) { if (options.HasFlag(FieldHandlerOptions.Orderable)) return false; return IsCompatibleWith(type); }
public virtual bool IsCompatibleWith(Type type, FieldHandlerOptions options) { return(typeof(EncryptedString) == type); }