1 // 2 // ObjectMaterializer.cs 3 // 4 // Author: 5 // Atsushi Enomoto <atsushi@ximian.com> 6 // 7 // Copyright (C) 2008 Novell, Inc. 8 // 9 10 // 11 // Permission is hereby granted, free of charge, to any person obtaining 12 // a copy of this software and associated documentation files (the 13 // "Software"), to deal in the Software without restriction, including 14 // without limitation the rights to use, copy, modify, merge, publish, 15 // distribute, sublicense, and/or sell copies of the Software, and to 16 // permit persons to whom the Software is furnished to do so, subject to 17 // the following conditions: 18 // 19 // The above copyright notice and this permission notice shall be 20 // included in all copies or substantial portions of the Software. 21 // 22 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 23 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 24 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 25 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 26 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 27 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 28 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 29 // 30 using System; 31 using System.Collections; 32 using System.Collections.Generic; 33 using System.Data.Common; 34 using System.Linq; 35 36 namespace System.Data.Linq.SqlClient.Implementation 37 { 38 public abstract class ObjectMaterializer<TDataReader> where TDataReader : DbDataReader 39 { 40 [MonoTODO] ObjectMaterializer()41 public ObjectMaterializer() 42 { 43 throw new NotImplementedException(); 44 } 45 46 [MonoTODO] Convert(IEnumerable source)47 public static IEnumerable<TOutput> Convert<TOutput> (IEnumerable source) 48 { 49 throw new NotImplementedException (); 50 } 51 52 [MonoTODO] CreateGroup(TKey key, IEnumerable<TElement> items)53 public static IGrouping<TKey, TElement> CreateGroup<TKey, TElement> (TKey key, IEnumerable<TElement> items) 54 { 55 throw new NotImplementedException (); 56 } 57 58 [MonoTODO] CreateOrderedEnumerable(IEnumerable<TElement> items)59 public static IOrderedEnumerable<TElement> CreateOrderedEnumerable<TElement> (IEnumerable<TElement> items) 60 { 61 throw new NotImplementedException (); 62 } 63 64 [MonoTODO] ErrorAssignmentToNull(Type type)65 public static Exception ErrorAssignmentToNull (Type type) 66 { 67 throw new NotImplementedException (); 68 } 69 70 // instance members 71 72 [MonoTODO] 73 public object [] Arguments; 74 75 [MonoTODO] 76 public DbDataReader BufferReader; 77 78 [MonoTODO] 79 public TDataReader DataReader; 80 81 [MonoTODO] 82 public object [] Globals; 83 84 [MonoTODO] 85 public object [] Locals; 86 87 [MonoTODO] 88 public int[] Ordinals; 89 90 [MonoTODO] 91 public abstract bool CanDeferLoad { get; } 92 ExecuteSubQuery(int iSubQuery, object [] args)93 public abstract IEnumerable ExecuteSubQuery (int iSubQuery, object [] args); GetLinkSource(int globalLink, int localFactory, object [] keyValues)94 public abstract IEnumerable<T> GetLinkSource<T> (int globalLink, int localFactory, object [] keyValues); GetNestedLinkSource(int globalLink, int localFactory, object instance)95 public abstract IEnumerable<T> GetNestedLinkSource<T> (int globalLink, int localFactory, object instance); InsertLookup(int globalMetaType, object instance)96 public abstract object InsertLookup (int globalMetaType, object instance); Read()97 public abstract bool Read (); SendEntityMaterialized(int globalMetaType, object instance)98 public abstract void SendEntityMaterialized (int globalMetaType, object instance); 99 } 100 } 101