public getValidator()

in src/Explorer/Panes/Tables/Validators/EntityPropertyValueValidator.ts [252:301]


  public getValidator(type: string, isRequired: boolean) {
    var validator: IValueValidator = null;

    // TODO classify rest of Cassandra types/create validators for them
    switch (type) {
      case StorageExplorerConstants.TableType.Boolean:
      case StorageExplorerConstants.CassandraType.Boolean:
        validator = new BooleanValueValidator();
        break;
      case StorageExplorerConstants.TableType.DateTime:
        validator = new DateTimeValueValidator();
        break;
      case StorageExplorerConstants.TableType.Double:
      case StorageExplorerConstants.CassandraType.Decimal:
      case StorageExplorerConstants.CassandraType.Double:
      case StorageExplorerConstants.CassandraType.Float:
        validator = new DoubleValueValidator();
        break;
      case StorageExplorerConstants.TableType.Guid:
      case StorageExplorerConstants.CassandraType.Uuid:
        validator = new GuidValueValidator();
        break;
      case StorageExplorerConstants.TableType.Int32:
      case StorageExplorerConstants.CassandraType.Int:
      // TODO create separate validators for smallint and tinyint
      case StorageExplorerConstants.CassandraType.Smallint:
      case StorageExplorerConstants.CassandraType.Tinyint:
        validator = new IntegerValueValidator(/* isInt64 */ false);
        break;
      case StorageExplorerConstants.TableType.Int64:
      case StorageExplorerConstants.CassandraType.Bigint:
      case StorageExplorerConstants.CassandraType.Varint:
        validator = new IntegerValueValidator(/* isInt64 */ true);
        break;
      case StorageExplorerConstants.TableType.String:
      case StorageExplorerConstants.CassandraType.Text:
      case StorageExplorerConstants.CassandraType.Ascii:
      case StorageExplorerConstants.CassandraType.Varchar:
        validator = new StringValidator(isRequired);
        break;
      case "Key":
        validator = new KeyValidator();
        break;
      default:
        validator = new NotSupportedValidator(type);
        break;
    }

    return validator;
  }