DeveelDB  20151217
complete SQL database system, primarly developed for .NET/Mono frameworks
Public Member Functions | Private Member Functions | List of all members
Deveel.Data.Types.NullType Class Reference

A data type that represents the NULL value of a given SQL data type. More...

Inheritance diagram for Deveel.Data.Types.NullType:
Deveel.Data.Types.SqlType Deveel.Data.Serialization.ISerializable

Public Member Functions

 NullType (SqlTypeCode typeCode)
 Constructs the type with the given SqlTypeCode. More...
 
override void SerializeObject (Stream stream, ISqlObject obj)
 
override ISqlObject DeserializeObject (Stream stream)
 
override object ConvertTo (ISqlObject obj, Type destType)
 
- Public Member Functions inherited from Deveel.Data.Types.SqlType
virtual bool IsComparable (SqlType type)
 Verifies if a given SqlType is comparable to this data-type. More...
 
virtual bool CanCastTo (SqlType destType)
 Verifies if this type can cast any value to the given SqlType. More...
 
virtual DataObject CastTo (DataObject value, SqlType destType)
 Converts the given object value to a SqlType specified. More...
 
virtual ISqlObject Add (ISqlObject a, ISqlObject b)
 
virtual ISqlObject Subtract (ISqlObject a, ISqlObject b)
 
virtual ISqlObject Multiply (ISqlObject a, ISqlObject b)
 
virtual ISqlObject Divide (ISqlObject a, ISqlObject b)
 
virtual ISqlObject Modulus (ISqlObject a, ISqlObject b)
 
virtual ISqlObject Negate (ISqlObject value)
 
virtual SqlBoolean IsEqualTo (ISqlObject a, ISqlObject b)
 
virtual SqlBoolean IsNotEqualTo (ISqlObject a, ISqlObject b)
 
virtual SqlBoolean IsGreatherThan (ISqlObject a, ISqlObject b)
 
virtual SqlBoolean IsSmallerThan (ISqlObject a, ISqlObject b)
 
virtual SqlBoolean IsGreaterOrEqualThan (ISqlObject a, ISqlObject b)
 
virtual SqlBoolean IsSmallerOrEqualThan (ISqlObject a, ISqlObject b)
 
virtual ISqlObject And (ISqlObject a, ISqlObject b)
 
virtual ISqlObject Or (ISqlObject a, ISqlObject b)
 
virtual ISqlObject XOr (ISqlObject x, ISqlObject y)
 
virtual ISqlObject UnaryPlus (ISqlObject value)
 
virtual ISqlObject Reverse (ISqlObject value)
 
virtual SqlType Wider (SqlType otherType)
 Gets the one data-type between this and the other one given that handles the wider range of values. More...
 
virtual int Compare (ISqlObject x, ISqlObject y)
 
override bool Equals (object obj)
 
override int GetHashCode ()
 
virtual bool Equals (SqlType other)
 
override string ToString ()
 
virtual bool IsCacheable (ISqlObject value)
 
virtual Type GetRuntimeType ()
 
virtual Type GetObjectType ()
 
virtual ISqlObject CreateFromLargeObject (ILargeObject objRef)
 
virtual ISqlObject CreateFrom (object value)
 

Private Member Functions

 NullType (ObjectData data)
 

Additional Inherited Members

- Static Public Member Functions inherited from Deveel.Data.Types.SqlType
static SqlType Parse (string s)
 Parses a SQL formatted string that defines a data-type into a constructed SqlType object equivalent. More...
 
static SqlType Parse (IContext context, string s)
 Parses a SQL formatted string that defines a data-type into a constructed SqlType object equivalent. More...
 
static bool IsPrimitiveType (SqlTypeCode typeCode)
 
static SqlType Resolve (SqlTypeCode typeCode)
 
static SqlType Resolve (SqlTypeCode typeCode, DataTypeMeta[] meta)
 
static SqlType Resolve (SqlTypeCode typeCode, DataTypeMeta[] meta, ITypeResolver resolver)
 
static SqlType Resolve (SqlTypeCode typeCode, string name)
 
static SqlType Resolve (SqlTypeCode typeCode, string name, DataTypeMeta[] meta)
 
static SqlType Resolve (string name)
 
static SqlType Resolve (string name, DataTypeMeta[] meta)
 
static SqlType Resolve (string name, DataTypeMeta[] meta, ITypeResolver resolver)
 
static SqlType Resolve (SqlTypeCode typeCode, string name, DataTypeMeta[] meta, ITypeResolver resolver)
 
- Protected Member Functions inherited from Deveel.Data.Types.SqlType
 SqlType (SqlTypeCode sqlType)
 Constructs the SqlType for the given specific SQL TYPE. More...
 
 SqlType (string name, SqlTypeCode typeCode)
 Constructs the SqlType for the given specific SQL TYPE and a given name. More...
 
 SqlType (ObjectData data)
 
virtual void GetData (SerializeData data)
 
- Package Functions inherited from Deveel.Data.Types.SqlType
virtual int GetCacheUsage (ISqlObject value)
 
virtual int ColumnSizeOf (ISqlObject obj)
 
- Properties inherited from Deveel.Data.Types.SqlType
string Name [get, private set]
 Gets the name of the data-type that is used to resolve it within the context. More...
 
SqlTypeCode TypeCode [get, private set]
 Gets the kind of SQL type this data-type handles. More...
 
virtual bool IsIndexable [get]
 Indicates if the values handled by the type can be part of an index. More...
 
bool IsPrimitive [get]
 Gets a value indicating if this data-type is primitive. More...
 
bool IsNull [get]
 
virtual bool IsStorable [get]
 

Detailed Description

A data type that represents the NULL value of a given SQL data type.

Definition at line 29 of file NullType.cs.

Constructor & Destructor Documentation

Deveel.Data.Types.NullType.NullType ( SqlTypeCode  typeCode)
inline

Constructs the type with the given SqlTypeCode.

Parameters
typeCode

Definition at line 34 of file NullType.cs.

35  : base("NULL", typeCode) {
36  }
Deveel.Data.Types.NullType.NullType ( ObjectData  data)
inlineprivate

Definition at line 38 of file NullType.cs.

39  : base(data) {
40  }

Member Function Documentation

override object Deveel.Data.Types.NullType.ConvertTo ( ISqlObject  obj,
Type  destType 
)
inlinevirtual

Reimplemented from Deveel.Data.Types.SqlType.

Definition at line 69 of file NullType.cs.

69  {
70  if (obj == null || obj.IsNull)
71  return null;
72 
73  throw new InvalidCastException();
74  }
bool IsNull
Gets a boolean value indicating if the object is NULL.
Definition: ISqlObject.cs:28
override ISqlObject Deveel.Data.Types.NullType.DeserializeObject ( Stream  stream)
inlinevirtual

Reimplemented from Deveel.Data.Types.SqlType.

Definition at line 54 of file NullType.cs.

54  {
55  var reader = new BinaryReader(stream);
56  var type = reader.ReadByte();
57 
58  if (type == 1)
59  return SqlNull.Value;
60  if (type == 2) {
61  // TODO: check the SQL Type Code of the type and construct the
62  // NULL value specific for the type.
63  throw new NotImplementedException();
64  }
65 
66  throw new FormatException();
67  }
static readonly SqlNull Value
Definition: SqlNull.cs:24
override void Deveel.Data.Types.NullType.SerializeObject ( Stream  stream,
ISqlObject  obj 
)
inlinevirtual

Reimplemented from Deveel.Data.Types.SqlType.

Definition at line 42 of file NullType.cs.

42  {
43  var writer = new BinaryWriter(stream);
44 
45  if (obj is SqlNull) {
46  writer.Write((byte)1);
47  } else if (obj == null || obj.IsNull) {
48  writer.Write((byte) 2);
49  } else {
50  throw new FormatException();
51  }
52  }
bool IsNull
Gets a boolean value indicating if the object is NULL.
Definition: ISqlObject.cs:28

The documentation for this class was generated from the following file: