public static AttributeValue CreateValue(T value, IKumoDictionaryValueSerializer serializer) { var attrValue = new AttributeValue(); SetValue(attrValue, value, serializer); return(attrValue); }
public virtual T DeserializeFromKey <T>(IKumoDictionaryValueSerializer serializer, string value) { if (StringKeySerializer <T> .CanSerialize) { return(StringKeySerializer <T> .Deserialize(value)); } else { if (serializer.ValueSerialization == KumoDictionaryValueSerialization.Binary) { return(serializer.Deserialize <T>(Convert.FromBase64String(value))); } else { return(serializer.Deserialize <T>(Encoding.UTF8.GetBytes(value))); } } }
public virtual string SerializeAsKey <T>(IKumoDictionaryValueSerializer serializer, T value) { if (StringKeySerializer <T> .CanSerialize) { return(StringKeySerializer <T> .Serialize(value)); } else { if (serializer.ValueSerialization == KumoDictionaryValueSerialization.Binary) { return(Convert.ToBase64String(serializer.Serialize(value))); } else { return(new UTF8Encoding(false).GetString(serializer.Serialize(value))); } } }
public KumoDictionaryAmazonDynamoDBSettings(string tableName, IKumoDictionaryValueSerializer serializer) { TableName = tableName; Serializer = serializer; KeySerializer = StringKeySerializer.Default; }
public KumoDictionaryAzureStorageTableSettings(IKumoDictionaryValueSerializer serializer) { Serializer = serializer; KeySerializer = StringKeySerializer.Default; }
public KumoDictionaryAzureStorageTableProvider(CloudTable table, IKumoDictionaryValueSerializer serializer = null) { Table = table; Settings = new KumoDictionaryAzureStorageTableSettings(serializer ?? KumoDictionaryValueSerializer.Default); }
public KumoDictionaryAmazonDynamoDBProvider(string tableName, AmazonDynamoDBClient dynamoDBClient, IKumoDictionaryValueSerializer serializer = null) { DynamoDBClient = dynamoDBClient; Settings = new KumoDictionaryAmazonDynamoDBSettings(tableName, serializer ?? KumoDictionaryValueSerializer.Default); }
public KumoDictionaryAzureStorageTableProvider(string connectionString, string tableName, IKumoDictionaryValueSerializer serializer = null) : this(GetCloudTable(connectionString, tableName), serializer) { }
public static IDictionaryTableEntity <TKey, TValue> Create <TKey, TValue>(string partitionKey, TKey rowKey, TValue value, IKumoDictionaryValueSerializer serializer, StringKeySerializer keySerializer) { if (EntityTypeResolver <TKey, TValue> .IsValueEdmType) { return(new EdmDictionaryTableEntity <TKey, TValue>(partitionKey, rowKey, value, serializer, keySerializer)); } else { if (serializer.ValueSerialization == KumoDictionaryValueSerialization.Binary) { return(new BinaryDictionaryTableEntity <TKey, TValue>(partitionKey, rowKey, value, serializer, keySerializer)); } else { return(new StringDictionaryTableEntity <TKey, TValue>(partitionKey, rowKey, value, serializer, keySerializer)); } } }
public BinaryDictionaryTableEntity(string partitionKey, TKey rowKey, TValue value, IKumoDictionaryValueSerializer serializer, StringKeySerializer keySerializer) { PartitionKey = partitionKey; RowKey = keySerializer.SerializeAsKey(serializer, rowKey); RawValue = serializer.Serialize(value); }
public TValue GetValue(IKumoDictionaryValueSerializer serializer) { return(serializer.Deserialize <TValue>(Encoding.UTF8.GetBytes(RawValue))); }
public TKey GetKey(IKumoDictionaryValueSerializer serializer, StringKeySerializer keySerializer) { return(keySerializer.DeserializeFromKey <TKey>(serializer, RowKey)); }
public StringDictionaryTableEntity(string partitionKey, TKey rowKey, TValue value, IKumoDictionaryValueSerializer serializer, StringKeySerializer keySerializer) { PartitionKey = partitionKey; RowKey = keySerializer.SerializeAsKey(serializer, rowKey); RawValue = new UTF8Encoding(false).GetString(serializer.Serialize(value)); }
public TValue GetValue(IKumoDictionaryValueSerializer serializer) { return(RawValue); }
public TValue GetValue(IKumoDictionaryValueSerializer serializer) { return(serializer.Deserialize <TValue>((byte[])(object)RawValue)); }