Exemple #1
0
        internal static Table LoadTable(IAmazonDynamoDB ddbClient, string tableName, Table.DynamoDBConsumer consumer, DynamoDBEntryConversion conversion)
        {
            Table table = new Table(ddbClient, tableName, consumer, conversion);

            table.LoadTableInfo();
            return(table);
        }
Exemple #2
0
        internal static Table LoadTable(IAmazonDynamoDB ddbClient, string tableName, Table.DynamoDBConsumer consumer)
        {
            Table table = new Table(ddbClient, tableName, consumer);

            table.GetTableInfo();
            return(table);
        }
Exemple #3
0
 private Table(AmazonDynamoDB ddbClient, string tableName, Table.DynamoDBConsumer consumer)
 {
     DDBClient = ddbClient;
     TableConsumer = consumer;
     TableName = tableName;
     HashKeyIsNumeric = RangeKeyIsDefined = RangeKeyIsNumeric = false;
 }
        internal static Table LoadTable(IAmazonDynamoDB ddbClient, string tableName, Table.DynamoDBConsumer consumer)
        {
            DynamoDBAsyncExecutor.IsMainThread("LoadTableAsync");
            Table table = new Table(ddbClient, tableName, consumer);

            table.GetTableInfo();
            return(table);
        }
Exemple #5
0
 private Table(AmazonDynamoDB ddbClient, string tableName, Table.DynamoDBConsumer consumer)
 {
     DDBClient = ddbClient;
     TableConsumer = consumer;
     TableName = tableName;
     RangeKeyIsDefined = false;
     HashKeyType = DynamoDBEntryType.String;
     RangeKeyType = DynamoDBEntryType.String;
 }
Exemple #6
0
 internal Table Copy(Table.DynamoDBConsumer newConsumer)
 {
     return(new Table(this.DDBClient, this.TableName, newConsumer)
     {
         keyNames = this.keyNames,
         Keys = this.Keys,
         RangeKeys = this.RangeKeys,
         HashKeys = this.HashKeys,
     });
 }
Exemple #7
0
        private Table(IAmazonDynamoDB ddbClient, string tableName, Table.DynamoDBConsumer consumer, DynamoDBEntryConversion conversion)
        {
#if PCL || UNITY
            DDBClient = ddbClient as AmazonDynamoDBClient;
#else
            DDBClient = ddbClient;
#endif
            TableInfoCache = SdkCache.GetCache <string, TableDescription>(ddbClient, TableInfoCacheIdentifier, StringComparer.Ordinal);
            LoggerInstance = Logger.GetLogger(typeof(SdkCache));

            TableConsumer = consumer;
            TableName     = tableName;
            Conversion    = conversion;
            ClearTableData();
        }
Exemple #8
0
        internal TableConfig(string tableName, DynamoDBEntryConversion conversion, Table.DynamoDBConsumer consumer, IEnumerable <string> storeAsEpoch)
        {
            if (string.IsNullOrEmpty(tableName))
            {
                throw new ArgumentNullException("tableName");
            }

            TableName  = tableName;
            Conversion = conversion;
            Consumer   = consumer;
            AttributesToStoreAsEpoch = new List <string>();
            if (storeAsEpoch != null)
            {
                AttributesToStoreAsEpoch.AddRange(storeAsEpoch);
            }
        }
Exemple #9
0
 internal Table Copy(Table.DynamoDBConsumer newConsumer)
 {
     return(new Table(this.DDBClient, this.TableName, newConsumer, this.Conversion)
     {
         KeyNames = this.KeyNames,
         Keys = this.Keys,
         RangeKeys = this.RangeKeys,
         HashKeys = this.HashKeys,
         Conversion = this.Conversion,
         Attributes = this.Attributes,
         GlobalSecondaryIndexes = this.GlobalSecondaryIndexes,
         GlobalSecondaryIndexNames = this.GlobalSecondaryIndexNames,
         LocalSecondaryIndexes = this.LocalSecondaryIndexes,
         LocalSecondaryIndexNames = this.LocalSecondaryIndexNames,
         ContainsCachedData = this.ContainsCachedData
     });
 }
Exemple #10
0
        private Table(IAmazonDynamoDB ddbClient, string tableName, Table.DynamoDBConsumer consumer)
        {
#if (WIN_RT || WINDOWS_PHONE)
            DDBClient = ddbClient as AmazonDynamoDBClient;
#else
            DDBClient = ddbClient;
#endif

            TableConsumer             = consumer;
            TableName                 = tableName;
            Keys                      = new Dictionary <string, KeyDescription>();
            HashKeys                  = new List <string>();
            RangeKeys                 = new List <string>();
            LocalSecondaryIndexes     = new Dictionary <string, LocalSecondaryIndexDescription>();
            LocalSecondaryIndexNames  = new List <string>();
            GlobalSecondaryIndexes    = new Dictionary <string, GlobalSecondaryIndexDescription>();
            GlobalSecondaryIndexNames = new List <string>();
            Attributes                = new List <AttributeDefinition>();
        }
Exemple #11
0
 internal static bool TryLoadTable(IAmazonDynamoDB ddbClient, string tableName, Table.DynamoDBConsumer consumer, DynamoDBEntryConversion conversion, out Table table)
 {
     try
     {
         table = LoadTable(ddbClient, tableName, consumer, conversion);
         return(true);
     }
     catch
     {
         table = null;
         return(false);
     }
 }
Exemple #12
0
 internal static void LoadTableAsync(IAmazonDynamoDB ddbClient, string tableName, Table.DynamoDBConsumer consumer, DynamoDBEntryConversion conversion, AmazonDynamoDBCallback <Table> callback, AsyncOptions asyncOptions = null)
 {
     asyncOptions = asyncOptions ?? new AsyncOptions();
     DynamoDBAsyncExecutor.ExecuteAsync <Table>(
         () => {
         return(LoadTable(ddbClient, tableName, consumer, conversion));
     }, asyncOptions, callback);
 }