geode-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From u..@apache.org
Subject [18/21] geode git commit: GEODE-2449: Moved Redis out of core with minimal Extension work added
Date Fri, 10 Feb 2017 21:34:21 GMT
http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/main/java/org/apache/geode/redis/internal/RedisCommandType.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/RedisCommandType.java b/geode-core/src/main/java/org/apache/geode/redis/internal/RedisCommandType.java
deleted file mode 100755
index acacd12..0000000
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/RedisCommandType.java
+++ /dev/null
@@ -1,2896 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.geode.redis.internal;
-
-import org.apache.geode.redis.internal.executor.AuthExecutor;
-import org.apache.geode.redis.internal.executor.DBSizeExecutor;
-import org.apache.geode.redis.internal.executor.DelExecutor;
-import org.apache.geode.redis.internal.executor.EchoExecutor;
-import org.apache.geode.redis.internal.executor.ExistsExecutor;
-import org.apache.geode.redis.internal.executor.ExpireAtExecutor;
-import org.apache.geode.redis.internal.executor.ExpireExecutor;
-import org.apache.geode.redis.internal.executor.FlushAllExecutor;
-import org.apache.geode.redis.internal.executor.KeysExecutor;
-import org.apache.geode.redis.internal.executor.PExpireAtExecutor;
-import org.apache.geode.redis.internal.executor.PExpireExecutor;
-import org.apache.geode.redis.internal.executor.PTTLExecutor;
-import org.apache.geode.redis.internal.executor.PersistExecutor;
-import org.apache.geode.redis.internal.executor.PingExecutor;
-import org.apache.geode.redis.internal.executor.QuitExecutor;
-import org.apache.geode.redis.internal.executor.ScanExecutor;
-import org.apache.geode.redis.internal.executor.ShutDownExecutor;
-import org.apache.geode.redis.internal.executor.TTLExecutor;
-import org.apache.geode.redis.internal.executor.TimeExecutor;
-import org.apache.geode.redis.internal.executor.TypeExecutor;
-import org.apache.geode.redis.internal.executor.UnkownExecutor;
-import org.apache.geode.redis.internal.executor.hash.HDelExecutor;
-import org.apache.geode.redis.internal.executor.hash.HExistsExecutor;
-import org.apache.geode.redis.internal.executor.hash.HGetAllExecutor;
-import org.apache.geode.redis.internal.executor.hash.HGetExecutor;
-import org.apache.geode.redis.internal.executor.hash.HIncrByExecutor;
-import org.apache.geode.redis.internal.executor.hash.HIncrByFloatExecutor;
-import org.apache.geode.redis.internal.executor.hash.HKeysExecutor;
-import org.apache.geode.redis.internal.executor.hash.HLenExecutor;
-import org.apache.geode.redis.internal.executor.hash.HMGetExecutor;
-import org.apache.geode.redis.internal.executor.hash.HMSetExecutor;
-import org.apache.geode.redis.internal.executor.hash.HScanExecutor;
-import org.apache.geode.redis.internal.executor.hash.HSetExecutor;
-import org.apache.geode.redis.internal.executor.hash.HSetNXExecutor;
-import org.apache.geode.redis.internal.executor.hash.HValsExecutor;
-import org.apache.geode.redis.internal.executor.hll.PFAddExecutor;
-import org.apache.geode.redis.internal.executor.hll.PFCountExecutor;
-import org.apache.geode.redis.internal.executor.hll.PFMergeExecutor;
-import org.apache.geode.redis.internal.executor.list.LIndexExecutor;
-import org.apache.geode.redis.internal.executor.list.LInsertExecutor;
-import org.apache.geode.redis.internal.executor.list.LLenExecutor;
-import org.apache.geode.redis.internal.executor.list.LPopExecutor;
-import org.apache.geode.redis.internal.executor.list.LPushExecutor;
-import org.apache.geode.redis.internal.executor.list.LPushXExecutor;
-import org.apache.geode.redis.internal.executor.list.LRangeExecutor;
-import org.apache.geode.redis.internal.executor.list.LRemExecutor;
-import org.apache.geode.redis.internal.executor.list.LSetExecutor;
-import org.apache.geode.redis.internal.executor.list.LTrimExecutor;
-import org.apache.geode.redis.internal.executor.list.RPopExecutor;
-import org.apache.geode.redis.internal.executor.list.RPushExecutor;
-import org.apache.geode.redis.internal.executor.list.RPushXExecutor;
-import org.apache.geode.redis.internal.executor.set.SAddExecutor;
-import org.apache.geode.redis.internal.executor.set.SCardExecutor;
-import org.apache.geode.redis.internal.executor.set.SDiffExecutor;
-import org.apache.geode.redis.internal.executor.set.SDiffStoreExecutor;
-import org.apache.geode.redis.internal.executor.set.SInterExecutor;
-import org.apache.geode.redis.internal.executor.set.SInterStoreExecutor;
-import org.apache.geode.redis.internal.executor.set.SIsMemberExecutor;
-import org.apache.geode.redis.internal.executor.set.SMembersExecutor;
-import org.apache.geode.redis.internal.executor.set.SMoveExecutor;
-import org.apache.geode.redis.internal.executor.set.SPopExecutor;
-import org.apache.geode.redis.internal.executor.set.SRandMemberExecutor;
-import org.apache.geode.redis.internal.executor.set.SRemExecutor;
-import org.apache.geode.redis.internal.executor.set.SScanExecutor;
-import org.apache.geode.redis.internal.executor.set.SUnionExecutor;
-import org.apache.geode.redis.internal.executor.set.SUnionStoreExecutor;
-import org.apache.geode.redis.internal.executor.sortedset.ZAddExecutor;
-import org.apache.geode.redis.internal.executor.sortedset.ZCardExecutor;
-import org.apache.geode.redis.internal.executor.sortedset.ZCountExecutor;
-import org.apache.geode.redis.internal.executor.sortedset.ZIncrByExecutor;
-import org.apache.geode.redis.internal.executor.sortedset.ZLexCountExecutor;
-import org.apache.geode.redis.internal.executor.sortedset.ZRangeByLexExecutor;
-import org.apache.geode.redis.internal.executor.sortedset.ZRangeByScoreExecutor;
-import org.apache.geode.redis.internal.executor.sortedset.ZRangeExecutor;
-import org.apache.geode.redis.internal.executor.sortedset.ZRankExecutor;
-import org.apache.geode.redis.internal.executor.sortedset.ZRemExecutor;
-import org.apache.geode.redis.internal.executor.sortedset.ZRemRangeByLexExecutor;
-import org.apache.geode.redis.internal.executor.sortedset.ZRemRangeByRankExecutor;
-import org.apache.geode.redis.internal.executor.sortedset.ZRemRangeByScoreExecutor;
-import org.apache.geode.redis.internal.executor.sortedset.ZRevRangeByScoreExecutor;
-import org.apache.geode.redis.internal.executor.sortedset.ZRevRangeExecutor;
-import org.apache.geode.redis.internal.executor.sortedset.ZRevRankExecutor;
-import org.apache.geode.redis.internal.executor.sortedset.ZScanExecutor;
-import org.apache.geode.redis.internal.executor.sortedset.ZScoreExecutor;
-import org.apache.geode.redis.internal.executor.string.AppendExecutor;
-import org.apache.geode.redis.internal.executor.string.BitCountExecutor;
-import org.apache.geode.redis.internal.executor.string.BitOpExecutor;
-import org.apache.geode.redis.internal.executor.string.BitPosExecutor;
-import org.apache.geode.redis.internal.executor.string.DecrByExecutor;
-import org.apache.geode.redis.internal.executor.string.DecrExecutor;
-import org.apache.geode.redis.internal.executor.string.GetBitExecutor;
-import org.apache.geode.redis.internal.executor.string.GetExecutor;
-import org.apache.geode.redis.internal.executor.string.GetRangeExecutor;
-import org.apache.geode.redis.internal.executor.string.GetSetExecutor;
-import org.apache.geode.redis.internal.executor.string.IncrByExecutor;
-import org.apache.geode.redis.internal.executor.string.IncrByFloatExecutor;
-import org.apache.geode.redis.internal.executor.string.IncrExecutor;
-import org.apache.geode.redis.internal.executor.string.MGetExecutor;
-import org.apache.geode.redis.internal.executor.string.MSetExecutor;
-import org.apache.geode.redis.internal.executor.string.MSetNXExecutor;
-import org.apache.geode.redis.internal.executor.string.PSetEXExecutor;
-import org.apache.geode.redis.internal.executor.string.SetBitExecutor;
-import org.apache.geode.redis.internal.executor.string.SetEXExecutor;
-import org.apache.geode.redis.internal.executor.string.SetExecutor;
-import org.apache.geode.redis.internal.executor.string.SetNXExecutor;
-import org.apache.geode.redis.internal.executor.string.SetRangeExecutor;
-import org.apache.geode.redis.internal.executor.string.StrlenExecutor;
-import org.apache.geode.redis.internal.executor.transactions.DiscardExecutor;
-import org.apache.geode.redis.internal.executor.transactions.ExecExecutor;
-import org.apache.geode.redis.internal.executor.transactions.MultiExecutor;
-import org.apache.geode.redis.internal.executor.transactions.UnwatchExecutor;
-import org.apache.geode.redis.internal.executor.transactions.WatchExecutor;
-
-/**
- * The redis command type used by the server. Each command is directly from the redis protocol and
- * calling {@link #getExecutor()} on a type returns the executor class for that command.
- * 
- *
- */
-public enum RedisCommandType {
-
-  /***************************************
-   *************** Keys ******************
-   ***************************************/
-
-  /**
-   * AUTH password
-   * <p>
-   * Authenticate to the server
-   */
-  AUTH {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new AuthExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * DEL key [key ...]
-   * <p>
-   * Delete a key
-   */
-  DEL {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new DelExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * EXISTS key
-   * <p>
-   * Determine if a key exists
-   */
-  EXISTS {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ExistsExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * EXPIRE key seconds
-   * <p>
-   * Set a key's time to live in seconds
-   */
-  EXPIRE {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ExpireExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * EXPIREAT key timestamp
-   * <p>
-   * Set the expiration for a key as a UNIX timestamp
-   */
-  EXPIREAT {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ExpireAtExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * FLUSHALL
-   * <p>
-   * Remove all keys from all databases
-   */
-  FLUSHALL {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new FlushAllExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * FLUSHDB
-   * <p>
-   * Remove all keys from the current database
-   * <p>
-   * Same as FLUSHALL for this implementation
-   */
-  FLUSHDB {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new FlushAllExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * KEYS pattern
-   * <p>
-   * Find all keys matching the given pattern
-   */
-  KEYS {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new KeysExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * PERSIST key
-   * <p>
-   * Remove the expiration from a key
-   */
-  PERSIST {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new PersistExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * PEXPIRE key milliseconds
-   * <p>
-   * Set a key's time to live in milliseconds
-   */
-  PEXPIRE {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new PExpireExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * PEXPIREAT key milliseconds-timestamp
-   * <p>
-   * Set the expiration for a key as a UNIX timestamp specified in milliseconds
-   */
-  PEXPIREAT {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new PExpireAtExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * PTTL key
-   * <p>
-   * Get the time to live for a key in milliseconds
-   */
-  PTTL {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new PTTLExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SCAN cursor [MATCH pattern] [COUNT count]
-   * <p>
-   * Incrementally iterate the keys space
-   */
-  SCAN {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ScanExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * TTL key
-   * <p>
-   * Get the time to live for a key
-   */
-  TTL {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new TTLExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * TYPE key
-   * <p>
-   * Determine the type stored at key
-   */
-  TYPE {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new TypeExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /***************************************
-   ************** Strings ****************
-   ***************************************/
-
-  /**
-   * APPEND key value
-   * <p>
-   * Append a value to a key
-   */
-  APPEND {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new AppendExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * BITCOUNT key start end [start end ...]
-   * <p>
-   * Count set bits in a string
-   */
-  BITCOUNT {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new BitCountExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * BITOP operation destkey key [key ...]
-   * <p>
-   * Perform bitwise operations between strings
-   */
-  BITOP {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new BitOpExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * BITPOS key bit [start] [end]
-   * <p>
-   * Find first bit set or clear in a string
-   */
-  BITPOS {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new BitPosExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * DECR key
-   * <p>
-   * Decrement the integer value of a key by one
-   */
-  DECR {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new DecrExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * DECRBY key decrement
-   * <p>
-   * Decrement the integer value of a key by the given number
-   */
-  DECRBY {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new DecrByExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * GET key
-   * <p>
-   * Get the value of a key
-   */
-  GET {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new GetExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * GETBIT key offset
-   * <p>
-   * Returns the bit value at offset in the string value stored at key
-   */
-  GETBIT {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new GetBitExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * GETRANGE key start end
-   * <p>
-   * Get a substring of the string stored at a key
-   */
-  GETRANGE {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new GetRangeExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * GETSET key value
-   * <p>
-   * Set the string value of a key and return its old value
-   */
-  GETSET {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new GetSetExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * INCR key
-   * <p>
-   * Increment the integer value of a key by one
-   */
-  INCR {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new IncrExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * INCRBY key increment
-   * <p>
-   * Increment the integer value of a key by the given amount
-   */
-  INCRBY {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new IncrByExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * INCRBYFLOAT key increment
-   * <p>
-   * Increment the float value of a key by the given amount
-   */
-  INCRBYFLOAT {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new IncrByFloatExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * MGET key [key ...]
-   * <p>
-   * Get the values of all the given keys
-   */
-  MGET {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new MGetExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * MSET key value [key value ...]
-   * <p>
-   * Set multiple keys to multiple values
-   */
-  MSET {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new MSetExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * MSETNX key value [key value ...]
-   * <p>
-   * Set multiple keys to multiple values, only if none of the keys exist
-   */
-  MSETNX {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new MSetNXExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * PSETEX key milliseconds value
-   * <p>
-   * Set the value and expiration in milliseconds of a key
-   */
-  PSETEX {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new PSetEXExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SETEX key seconds value
-   * <p>
-   * Set the value and expiration of a key
-   */
-  SETEX {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new SetEXExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SET key value [EX seconds] [PX milliseconds] [NX|XX]
-   * <p>
-   * Set the string value of a key
-   */
-  SET {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new SetExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SETBIT key offset value
-   * <P>
-   * Sets or clears the bit at offset in the string value stored at key
-   */
-  SETBIT {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new SetBitExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SETNX key value
-   * <p>
-   * Set the value of a key, only if the key does not exist
-   */
-  SETNX {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new SetNXExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SETRANGE key offset value
-   * <p>
-   * Overwrite part of a string at key starting at the specified offset
-   */
-  SETRANGE {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new SetRangeExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * STRLEN key
-   * <p>
-   * Get the length of the value stored in a key
-   */
-  STRLEN {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new StrlenExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_STRING;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /***************************************
-   **************** Hashes ***************
-   ***************************************/
-  /**
-   * HDEL key field [field ...]
-   * <p>
-   * Delete one or more hash fields
-   */
-  HDEL {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new HDelExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_HASH;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * HEXISTS key field
-   * <p>
-   * Determine if a hash field exists
-   */
-  HEXISTS {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new HExistsExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_HASH;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * HGET key field
-   * <p>
-   * Get the value of a hash field
-   */
-  HGET {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new HGetExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_HASH;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * HGETALL key
-   * <p>
-   * Get all the fields and values in a hash
-   */
-  HGETALL {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new HGetAllExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_HASH;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * HINCRBY key field increment
-   * <p>
-   * Increment the integer value of a hash field by the given number
-   */
-  HINCRBY {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new HIncrByExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_HASH;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * HINCRBYFLOAT key field increment
-   * <p>
-   * Increment the float value of a hash field by the given amount
-   */
-  HINCRBYFLOAT {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new HIncrByFloatExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_HASH;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * HKEYS key
-   * <p>
-   * Get all the fields in a hash
-   */
-  HKEYS {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new HKeysExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_HASH;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * HLEN key
-   * <p>
-   * Get the number of fields in a hash
-   */
-  HLEN {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new HLenExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_HASH;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * HMGET key field [field ...]
-   * <p>
-   * Get the values of all the given hash fields
-   */
-  HMGET {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new HMGetExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_HASH;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * HMSET key field value [field value ...]
-   * <p>
-   * Set multiple hash fields to multiple values
-   */
-  HMSET {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new HMSetExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_HASH;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * HSCAN key cursor [MATCH pattern] [COUNT count]
-   * <p>
-   * Incrementally iterate hash fields and associated values
-   */
-  HSCAN {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new HScanExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_HASH;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * HSET key field value
-   * <p>
-   * Set the string value of a hash field
-   */
-  HSET {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new HSetExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_HASH;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * HSETNX key field value
-   * <p>
-   * Set the value of a hash field, only if the field does not exist
-   */
-  HSETNX {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new HSetNXExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_HASH;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * HVALS key
-   * <p>
-   * Get all the values in a hash
-   */
-  HVALS {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new HValsExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_HASH;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /***************************************
-   *********** HyperLogLogs **************
-   ***************************************/
-
-  /**
-   * PFADD key element [element ...]
-   * <p>
-   * Adds the specified elements to the specified HyperLogLog
-   */
-  PFADD {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new PFAddExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_HLL;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * PFCOUNT key [key ...]
-   * <p>
-   * Return the approximated cardinality of the set(s) observed by the HyperLogLog at key(s)
-   */
-  PFCOUNT {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new PFCountExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_HLL;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * PFMERGE destkey sourcekey [sourcekey ...]
-   * <p>
-   * Merge N different HyperLogLogs into a single one
-   */
-  PFMERGE {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new PFMergeExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_HLL;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /***************************************
-   *************** Lists *****************
-   ***************************************/
-
-  /**
-   * LINDEX key index
-   * <p>
-   * Get an element from a list by its index
-   */
-  LINDEX {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new LIndexExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_LIST;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * LINSERT key BEFORE|AFTER pivot value
-   * <p>
-   * Insert an element before or after another element in a list
-   */
-  LINSERT {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new LInsertExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_LIST;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * LLEN key
-   * <p>
-   * Get the length of a list
-   */
-  LLEN {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new LLenExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_LIST;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * LPOP key
-   * <p>
-   * Remove and get the first element in a list
-   */
-  LPOP {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new LPopExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_LIST;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * LPUSH key value [value ...]
-   * <p>
-   * Prepend one or multiple values to a list
-   */
-  LPUSH {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new LPushExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_LIST;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * LPUSHX key value
-   * <p>
-   * Prepend a value to a list, only if the list exists
-   */
-  LPUSHX {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new LPushXExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_LIST;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * LRANGE key start stop
-   * <p>
-   * Get a range of elements from a list
-   */
-  LRANGE {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new LRangeExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_LIST;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * LREM key count value
-   * <p>
-   * Remove elements from a list
-   */
-  LREM {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new LRemExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_LIST;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * LSET key index value
-   * <p>
-   * Set the value of an element in a list by its index
-   */
-  LSET {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new LSetExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_LIST;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * LTRIM key start stop
-   * <p>
-   * Trim a list to the specified range
-   */
-  LTRIM {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new LTrimExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_LIST;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * RPOP key
-   * <p>
-   * Remove and get the last element in a list
-   */
-  RPOP {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new RPopExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_LIST;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * RPUSH key value [value ...]
-   * <p>
-   * Append one or multiple values to a list
-   */
-  RPUSH {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new RPushExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_LIST;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * RPUSHX key value
-   * <p>
-   * Append a value to a list, only if the list exists
-   */
-  RPUSHX {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new RPushXExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_LIST;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /***************************************
-   **************** Sets *****************
-   ***************************************/
-
-  /**
-   * SADD key member [member ...]
-   * <p>
-   * Add one or more members to a set
-   */
-  SADD {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new SAddExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SCARD key
-   * <p>
-   * Get the number of members in a set
-   */
-  SCARD {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new SCardExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SDIFF key [key ...]
-   * <p>
-   * Subtract multiple sets
-   */
-  SDIFF {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new SDiffExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SDIFFSTORE destination key [key ...]
-   * <p>
-   * Subtract multiple sets and store the resulting set in a key
-   */
-  SDIFFSTORE {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new SDiffStoreExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SISMEMBER key member
-   * <p>
-   * Determine if a given value is a member of a set
-   */
-  SISMEMBER {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new SIsMemberExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SINTER key [key ...]
-   * <p>
-   * Intersect multiple sets
-   */
-  SINTER {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new SInterExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SINTERSTORE destination key [key ...]
-   * <p>
-   * Intersect multiple sets and store the resulting set in a key
-   */
-  SINTERSTORE {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new SInterStoreExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SMEMBERS key
-   * <p>
-   * Get all the members in a set
-   */
-  SMEMBERS {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new SMembersExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SMOVE source destination member
-   * <p>
-   * Move a member from one set to another
-   */
-  SMOVE {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new SMoveExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SPOP key
-   * <p>
-   * Remove and return a random member from a set
-   */
-  SPOP {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new SPopExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SRANDMEMBER key [count]
-   * <p>
-   * Get one or multiple random members from a set
-   */
-  SRANDMEMBER {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new SRandMemberExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SUNION key [key ...]
-   * <p>
-   * Add multiple sets
-   */
-  SUNION {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new SUnionExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SUNIONSTORE destination key [key ...]
-   * <p>
-   * Add multiple sets and store the resulting set in a key
-   */
-  SUNIONSTORE {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new SUnionStoreExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SSCAN key cursor [MATCH pattern] [COUNT count]
-   * <p>
-   * Incrementally iterate Set elements
-   */
-  SSCAN {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new SScanExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SREM key member [member ...]
-   * <p>
-   * Remove one or more members from a set
-   */
-  SREM {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new SRemExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /***************************************
-   ************* Sorted Sets *************
-   ***************************************/
-
-  /**
-   * ZADD key score member [score member ...]
-   * <p>
-   * Add one or more members to a sorted set, or update its score if it already exists
-   */
-  ZADD {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ZAddExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * ZCARD key
-   * <p>
-   * Get the number of members in a sorted set
-   */
-  ZCARD {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ZCardExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * ZCOUNT key min max
-   * <p>
-   * Count the members in a sorted set with scores within the given values
-   */
-  ZCOUNT {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ZCountExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * ZINCRBY key increment member
-   * <p>
-   * Increment the score of a member in a sorted set
-   */
-  ZINCRBY {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ZIncrByExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * ZLEXCOUNT key min max
-   * <p>
-   * Count the number of members in a sorted set between a given lexicographical range
-   */
-  ZLEXCOUNT {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ZLexCountExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * ZRANGE key start stop [WITHSCORES]
-   * <p>
-   * Return a range of members in a sorted set, by index
-   */
-  ZRANGE {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ZRangeExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * ZRANGEBYLEX key min max [LIMIT offset count]
-   * <p>
-   * Return a range of members in a sorted set, by lexicographical range
-   */
-  ZRANGEBYLEX {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ZRangeByLexExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
-   * <p>
-   * Return a range of members in a sorted set, by score
-   */
-  ZRANGEBYSCORE {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ZRangeByScoreExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * ZREVRANGE key start stop [WITHSCORES]
-   * <p>
-   * Return a range of members in a sorted set, by index, with scores ordered from high to low
-   */
-  ZREVRANGE {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ZRevRangeExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * ZRANK key member
-   * <p>
-   * Determine the index of a member in a sorted set
-   */
-  ZRANK {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ZRankExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * ZREM key member [member ...]
-   * <p>
-   * Remove one or more members from a sorted set
-   */
-  ZREM {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ZRemExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * ZREMRANGEBYLEX key min max
-   * <p>
-   * Remove all members in a sorted set between the given lexicographical range
-   */
-  ZREMRANGEBYLEX {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ZRemRangeByLexExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * ZREMRANGEBYRANK key start stop
-   * <p>
-   * Remove all members in a sorted set within the given indexes
-   */
-  ZREMRANGEBYRANK {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ZRemRangeByRankExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * ZREMRANGEBYSCORE key min max
-   * <p>
-   * Remove all members in a sorted set within the given scores
-   */
-  ZREMRANGEBYSCORE {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ZRemRangeByScoreExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]
-   * <p>
-   * Return a range of members in a sorted set, by score, with scores ordered from high to low
-   */
-  ZREVRANGEBYSCORE {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ZRevRangeByScoreExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * ZREVRANK key member
-   * <p>
-   * Determine the index of a member in a sorted set, with scores ordered from high to low
-   */
-  ZREVRANK {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ZRevRankExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * ZSCAN key cursor [MATCH pattern] [COUNT count]
-   * <P>
-   * Incrementally iterate sorted sets elements and associated scores
-   */
-  ZSCAN {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ZScanExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * ZSCORE key member
-   * <p>
-   * Get the score associated with the given member in a sorted set
-   */
-  ZSCORE {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ZScoreExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /***************************************
-   ************ Transactions *************
-   ***************************************/
-
-  /**
-   * DISCARD
-   * <p>
-   * Discard all commands issued after MULTI
-   */
-  DISCARD {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new DiscardExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * EXEC
-   * <p>
-   * Execute all commands issued after MULTI
-   */
-  EXEC {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ExecExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * MULTI
-   * <p>
-   * Mark the start of a transaction block
-   */
-  MULTI {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new MultiExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * UNWATCH
-   * <p>
-   * Forget about all watched keys
-   */
-  UNWATCH {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new UnwatchExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * WATCH key [key ...]
-   * <p>
-   * Watch the given keys to determine execution of the MULTI/EXEC block
-   */
-  WATCH {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new WatchExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /***************************************
-   *************** Server ****************
-   ***************************************/
-
-  /**
-   * DBSIZE
-   * <p>
-   * Return the number of keys in the selected database
-   */
-  DBSIZE {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new DBSizeExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * ECHO message
-   * <p>
-   * Echo the given string
-   */
-  ECHO {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new EchoExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * TIME
-   * <p>
-   * Return the current server time
-   */
-  TIME {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new TimeExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * PING
-   * <p>
-   * Ping the server
-   */
-  PING {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new PingExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * QUIT
-   * <p>
-   * Close the connection
-   */
-  QUIT {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new QuitExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  /**
-   * SHUTDOWN
-   * <p>
-   * Shut down the server
-   */
-  SHUTDOWN {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new ShutDownExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  },
-
-  // UNKNOWN
-  UNKNOWN {
-    private Executor executor;
-
-    @Override
-    public Executor getExecutor() {
-      if (executor == null) {
-        executor = new UnkownExecutor();
-      }
-      return executor;
-    }
-
-    private final RedisDataType dataType = RedisDataType.NONE;
-
-    @Override
-    public RedisDataType getDataType() {
-      return this.dataType;
-    }
-  };
-
-  /**
-   * Abstract method overridden by each value in enum to get the executor associated with that
-   * command type
-   * 
-   * @return {@link Executor} for command type
-   */
-  public abstract Executor getExecutor();
-
-  public abstract RedisDataType getDataType();
-  /*
-   * private RedisCommandType (RedisDataType dataType) { this.dataType = dataType; }
-   */
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/main/java/org/apache/geode/redis/internal/RedisConstants.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/RedisConstants.java b/geode-core/src/main/java/org/apache/geode/redis/internal/RedisConstants.java
deleted file mode 100644
index 3c39c01..0000000
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/RedisConstants.java
+++ /dev/null
@@ -1,308 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis.internal;
-
-
-public class RedisConstants {
-
-  public static final int NUM_DEFAULT_KEYS = 3;
-
-  /*
-   * Responses
-   */
-  public static final String QUIT_RESPONSE = "OK";
-  public static final String COMMAND_QUEUED = "QUEUED";
-
-
-  /*
-   * Error responses
-   */
-  static final String PARSING_EXCEPTION_MESSAGE =
-      "The command recieved by GeodeRedisServer was improperly formatted";
-  static final String SERVER_ERROR_MESSAGE = "The server had an internal error please try again";
-  static final String SERVER_ERROR_UNKNOWN_RESPONSE = "Unkown response";
-  static final String SERVER_ERROR_SHUTDOWN = "The server is shutting down";
-  static final String ERROR_UNSUPPORTED_OPERATION_IN_TRANSACTION =
-      "This command is not supported within a transaction";
-  static final String ERROR_TRANSACTION_EXCEPTION =
-      "This transcation cannot be initiated, make sure the command is executed against a replicate region or your data is collocated. If you are using persistent regions, make sure transactions are enabled";
-  public static final String ERROR_NOT_NUMERIC = "Illegal non numeric argument";
-  public static final String ERROR_UNKOWN_COMMAND = "Unable to process uknown command";
-  public static final String ERROR_COMMIT_CONFLICT =
-      "There has been a conflict with another transaction";
-  public static final String ERROR_REGION_CREATION =
-      "This key could not be created. Gemfire does not allow certain characters to used in keys";
-  public static final String ERROR_UNWATCH =
-      "Keys cannot be watched or unwatched because GemFire watches all keys by default for transactions";
-  public static final String ERROR_WATCH =
-      "Keys cannot be watched or unwatched because GemFire watches all keys by default for transactions";
-  public static final String ERROR_ILLEGAL_GLOB = "Incorrect syntax for given glob regex";
-  public static final String ERROR_OUT_OF_RANGE = "The number provided is out of range";
-  public static final String ERROR_NESTED_MULTI = "The MULTI command cannot be nested";
-  public static final String ERROR_NAN_INF_INCR = "increment would produce NaN or Infinity";
-  public static final String ERROR_NO_PASS =
-      "Attempting to authenticate when no password has been set";
-  public static final String ERROR_INVALID_PWD =
-      "Attemping to authenticate with an invalid password";
-  public static final String ERROR_NOT_AUTH = "Must authenticate before sending any requests";
-
-  public static class ArityDef {
-
-    /*
-     * General
-     */
-    public static final int DBSIZE_ARITY = 0;
-    public static final String AUTH =
-        "The wrong number of arguments or syntax was provided, the format for the AUTH command is \"AUTH password\"";
-    public static final String DBSIZE = null;
-    public static final String DEL =
-        "The wrong number of arguments or syntax was provided, the format for the DEL command is \"DEL key [key ...]\"";
-    public static final String ECHO =
-        "The wrong number of arguments or syntax was provided, the format for the ECHO command is \"ECHO message\"";
-    public static final String EXISTS =
-        "The wrong number of arguments or syntax was provided, the format for the EXISTS command is \"EXISTS key\"";
-    public static final String EXPIREAT =
-        "The wrong number of arguments or syntax was provided, the format for the EXPIREAT command is \"EXPIREAT key timestamp\"";
-    public static final String EXPIRE =
-        "The wrong number of arguments or syntax was provided, the format for the EXPIRE command is \"EXPIRE key seconds\"";
-    public static final String FLUSHALL = null;
-    public static final String KEYS =
-        "The wrong number of arguments or syntax was provided, the format for the KEYS command is \"KEYS pattern\"";
-    public static final String PERSIST =
-        "The wrong number of arguments or syntax was provided, the format for the PERSIST command is \"PERSIST key\"";
-    public static final String PEXPIREAT =
-        "The wrong number of arguments or syntax was provided, the format for the PEXPIREAT command is \"PEXPIREAT key milliseconds-timestamp\"";
-    public static final String PEXPIRE =
-        "The wrong number of arguments or syntax was provided, the format for the PEXPIRE command is \"PEXPIRE key milliseconds\"";
-    public static final String PING = null;
-    public static final String PTTL =
-        "The wrong number of arguments or syntax was provided, the format for the PTTL command is \"PTTL key\"";
-    public static final String QUIT = null;
-    public static final String SCAN =
-        "The wrong number of arguments or syntax was provided, the format for the SCAN command is \"SCAN cursor [MATCH pattern] [COUNT count]\"";
-    public static final String SHUTDOWN = null;
-    public static final String TIME = null;
-    public static final String TTL =
-        "The wrong number of arguments or syntax was provided, the format for the TTL command is \"TTL key\"";
-    public static final String TYPE =
-        "The wrong number of arguments or syntax was provided, the format for the TYPE command is \"TYPE key\"";
-    public static final String UNKNOWN = null;
-
-    /*
-     * Hash
-     */
-    public static final String HDEL =
-        "The wrong number of arguments or syntax was provided, the format for the HDEL command is \"HDEL key field [field ...]\"";
-    public static final String HEXISTS =
-        "The wrong number of arguments or syntax was provided, the format for the HEXISTS command is \"HEXISTS key field\"";
-    public static final String HGETALL =
-        "The wrong number of arguments or syntax was provided, the format for the HGETALL command is \"HGETALL key\"";
-    public static final String HGET =
-        "The wrong number of arguments or syntax was provided, the format for the HGET command is \"HGET key field\"";
-    public static final String HINCRBY =
-        "The wrong number of arguments or syntax was provided, the format for the HINCRBY command is \"HINCRBY key field increment\"";
-    public static final String HINCRBYFLOAT =
-        "The wrong number of arguments or syntax was provided, the format for the HINCRBYFLOAT command is \"HINCRBYFLOAT key field increment\"";
-    public static final String HKEYS =
-        "The wrong number of arguments or syntax was provided, the format for the HKEYS command is \"HKEYS key\"";
-    public static final String HLEN =
-        "The wrong number of arguments or syntax was provided, the format for the HLEN command is \"HLEN key\"";
-    public static final String HMGET =
-        "The wrong number of arguments or syntax was provided, the format for the HMGET command is \"HMGET key field [field ...]\"";
-    public static final String HMSET =
-        "The wrong number of arguments or syntax was provided, the format for the HMSET command is \"HMSET key field value [field value ...]\", or not every field is associated with a value";
-    public static final String HSCAN =
-        "The wrong number of arguments or syntax was provided, the format for the SSCAN command is \"SSCAN key cursor [MATCH pattern] [COUNT count]\"";
-    public static final String HSET =
-        "The wrong number of arguments or syntax was provided, the format for the HSET command is \"HSET key field value\"";
-    public static final String HSETNX =
-        "The wrong number of arguments or syntax was provided, the format for the HSETNX command is \"HSETNX key field value\"";
-    public static final String HVALS =
-        "The wrong number of arguments or syntax was provided, the format for the HVALS command is \"HVALS key\"";
-
-    /*
-     * Hll
-     */
-    public static final String PFADD =
-        "The wrong number of arguments or syntax was provided, the format for the PFADD command is \"PFADD key element [element ...]\"";
-    public static final String PFCOUNT =
-        "The wrong number of arguments or syntax was provided, the format for the PFCOUNT command is \"PFCOUNT key [key ...]\"";
-    public static final String PFMERGE =
-        "The wrong number of arguments or syntax was provided, the format for the PFMERGE command is \"PFMERGE destkey sourcekey [sourcekey ...]\"";
-
-    /*
-     * List
-     */
-    public static final String LINDEX =
-        "The wrong number of arguments or syntax was provided, the format for the LINDEX command is \"LINDEX key index";
-    public static final String LINSERT = null;
-    public static final String LLEN =
-        "The wrong number of arguments or syntax was provided, the format for the LLEN command is \"LLEN key";
-    public static final String LPOP =
-        "The wrong number of arguments or syntax was provided, the format for the LPOP command is \"LPOP key";
-    public static final String LPUSH =
-        "The wrong number of arguments or syntax was provided, the format for the LPUSH command is \"LPUSH key value [value ...]";
-    public static final String LPUSHX =
-        "The wrong number of arguments or syntax was provided, the format for the LPUSHX command is \"LPUSHX key value";
-    public static final String LRANGE =
-        "The wrong number of arguments or syntax was provided, the format for the LRANGE command is \"LRANGE key start stop\"";
-    public static final String LREM =
-        "The wrong number of arguments or syntax was provided, the format for the LREM command is \"LREM key count value\"";
-    public static final String LSET =
-        "The wrong number of arguments or syntax was provided, the format for the LSET command is \"LSET key index value\"";
-    public static final String LTRIM =
-        "The wrong number of arguments or syntax was provided, the format for the LTRIM command is \"LTRIM key start stop\"";
-    public static final String RPOP =
-        "The wrong number of arguments or syntax was provided, the format for the RPOP command is \"RPOP key";
-    public static final String RPUSH =
-        "The wrong number of arguments or syntax was provided, the format for the RPUSH command is \"RPUSH key value [value ...]";
-    public static final String RPUSHX =
-        "The wrong number of arguments or syntax was provided, the format for the RPUSHX command is \"RPUSHX key value";
-
-    /*
-     * Set
-     */
-    public static final String SADD =
-        "The wrong number of arguments or syntax was provided, the format for the SADD command is \"SADD key member [member ...]\"";
-    public static final String SCARD =
-        "The wrong number of arguments or syntax was provided, the format for the SCARD command is \"SCARD key\"";
-    public static final String SDIFF =
-        "The wrong number of arguments or syntax was provided, the format for the SDIFF command is \"SDIFF key [key ...]\"";
-    public static final String SDIFFSTORE =
-        "The wrong number of arguments or syntax was provided, the format for the SDIFF command is \"SDIFFSTORE destination key [key ...]\"";
-    public static final String SINTER =
-        "The wrong number of arguments or syntax was provided, the format for the SINTER command is \"SINTER key [key ...]\"";
-    public static final String SINTERSTORE =
-        "The wrong number of arguments or syntax was provided, the format for the SINTERSTORE command is \"SINTERSTORE destination key [key ...]\"";
-    public static final String SISMEMBER =
-        "The wrong number of arguments or syntax was provided, the format for the SISMEMBER command is \"SISMEMBER key member\"";
-    public static final String SMEMBERS =
-        "The wrong number of arguments or syntax was provided, the format for the SMEMBERS command is \"SMEMBERS key\"";
-    public static final String SMOVE =
-        "The wrong number of arguments or syntax was provided, the format for the SMOVE command is \"SMOVE source destination member\"";
-    public static final String SPOP =
-        "The wrong number of arguments or syntax was provided, the format for the SPOP command is \"SPOP key\"";
-    public static final String SRANDMEMBER =
-        "The wrong number of arguments or syntax was provided, the format for the SRANDMEMBER command is \"SRANDMEMBER key [count]\"";
-    public static final String SREM =
-        "The wrong number of arguments or syntax was provided, the format for the SREM command is \"SREM key member [member ...]\"";
-    public static final String SSCAN =
-        "The wrong number of arguments or syntax was provided, the format for the SSCAN command is \"SSCAN key cursor [MATCH pattern] [COUNT count]\"";
-    public static final String SUNION =
-        "The wrong number of arguments or syntax was provided, the format for the SUNION command is \"SUNION key [key ...]\"";
-    public static final String SUNIONSTORE =
-        "The wrong number of arguments or syntax was provided, the format for the SUNIONSTORE command is \"SUNIONSTORE destination key [key ...]\"";
-
-    /*
-     * Sorted set
-     */
-    public static final String ZADD =
-        "The wrong number of arguments or syntax was provided, the format for the ZADD command is \"ZADD key score member [score member ...]\", or not every score matches to a member";
-    public static final String ZCARD =
-        "The wrong number of arguments or syntax was provided, the format for the ZCARD command is \"ZCARD key\"";
-    public static final String ZCOUNT =
-        "The wrong number of arguments or syntax was provided, the format for the ZCOUNT command is \"ZCOUNT key min max\"";
-    public static final String ZINCRBY =
-        "The wrong number of arguments or syntax was provided, the format for the ZINCRBY command is \"ZINCRBY key increment member\"";
-    public static final String ZLEXCOUNT =
-        "The wrong number of arguments or syntax was provided, the format for the ZLEXCOUNT command is \"ZLEXCOUNT key min max\"";
-    public static final String ZRANGEBYLEX =
-        "The wrong number of arguments or syntax was provided, the format for the ZRANGEBYLEX command is \"ZRANGEBYLEX key min max [LIMIT offset count]\"";
-    public static final String ZRANGEBYSCORE =
-        "The wrong number of arguments or syntax was provided, the format for the ZRANGEBYSCORE command is \"ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]\"";
-    public static final String ZRANGE =
-        "The wrong number of arguments or syntax was provided, the format for the ZRANGE command is \"ZRANGE key start stop [WITHSCORES]\"";
-    public static final String ZRANK =
-        "The wrong number of arguments or syntax was provided, the format for the ZRANK command is \"ZRANK key member\"";
-    public static final String ZREM =
-        "The wrong number of arguments or syntax was provided, the format for the ZREM command is \"ZREM key member [member ...]\"";
-    public static final String ZREMRANGEBYLEX =
-        "The wrong number of arguments or syntax was provided, the format for the ZREMRANGEBYLEX command is \"ZREMRANGEBYLEX key min max\"";
-    public static final String ZREMRANGEBYRANK =
-        "The wrong number of arguments or syntax was provided, the format for the ZREMRANGEBYRANK command is \"ZREMRANGEBYRANK key start stop\"";
-    public static final String ZREMRANGEBYSCORE =
-        "The wrong number of arguments or syntax was provided, the format for the ZREMRANGEBYSCORE command is \"ZREMRANGEBYSCORE key min max\"";
-    public static final String ZREVRANGEBYSCORE =
-        "The wrong number of arguments or syntax was provided, the format for the ZREVRANGEBYSCORE command is \"ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]\"";
-    public static final String ZREVRANGE =
-        "The wrong number of arguments or syntax was provided, the format for the ZREVRANGE command is \"ZREVRANGE key start stop [WITHSCORES]\"";
-    public static final String ZREVRANK =
-        "The wrong number of arguments or syntax was provided, the format for the ZREVRANK command is \"ZREVRANK key member\"";
-    public static final String ZSCAN =
-        "The wrong number of arguments or syntax was provided, the format for the SSCAN command is \"SSCAN key cursor [MATCH pattern] [COUNT count]\"";
-    public static final String ZSCORE =
-        "The wrong number of arguments or syntax was provided, the format for the ZSCORE command is \"ZSCORE key member\"";
-
-    /*
-     * String
-     */
-    public static final String APPEND =
-        "The wrong number of arguments or syntax was provided, the format for the APPEND command is \"APPEND key value\"";
-    public static final String BITCOUNT =
-        "The wrong number of arguments or syntax was provided, the format for the BITCOUNT command is \"BITCOUNT key [start end]\"";
-    public static final String BITOP =
-        "The wrong number of arguments or syntax was provided, the format for the BITOP command is \"BITOP operation destkey key [key ...]\"";
-    public static final String BITPOS =
-        "The wrong number of arguments or syntax was provided, the format for the BITOPS command is \"BITPOS key bit [start] [end]\"";
-    public static final String DECRBY =
-        "The wrong number of arguments or syntax was provided, the format for the DECRBY command is \"DECRRBY key decrement\"";
-    public static final String DECR =
-        "The wrong number of arguments or syntax was provided, the format for the DECR command is \"DECR key\"";
-    public static final String GETBIT =
-        "The wrong number of arguments or syntax was provided, the format for the GETBIT command is \"GETBIT key offset\"";
-    public static final String GETEXECUTOR =
-        "The wrong number of arguments or syntax was provided, the format for the GET command is \"GET key\"";
-    public static final String GETRANGE =
-        "The wrong number of arguments or syntax was provided, the format for the GETRANGE command is \"GETRANGE key start end\"";
-    public static final String GETSET =
-        "The wrong number of arguments or syntax was provided, the format for the GETSET command is \"GETSET key value\"";
-    public static final String INCRBY =
-        "The wrong number of arguments or syntax was provided, the format for the INCRBY command is \"INCRBY key increment\"";
-    public static final String INCRBYFLOAT =
-        "The wrong number of arguments or syntax was provided, the format for the INCRBY command is \"INCRBY key increment\"";
-    public static final String INCR =
-        "The wrong number of arguments or syntax was provided, the format for the INCR command is \"INCR key\"";
-    public static final String MGET =
-        "The wrong number of arguments or syntax was provided, the format for the MGET command is \"MGET key [key ...]\"";
-    public static final String MSET =
-        "The wrong number of arguments or syntax was provided, the format for the MSET command is \"MSET key value [key value ...]\", or not every key matches a value";
-    public static final String MSETNX =
-        "The wrong number of arguments or syntax was provided, the format for the MSETNX command is \"MSETNX key value [key value ...]\", or not every key matches a value";
-    public static final String PSETEX =
-        "The wrong number of arguments or syntax was provided, the format for the PSETEX command is \"PSETEX key milliseconds value\"";
-    public static final String SETBIT =
-        "The wrong number of arguments or syntax was provided, the format for the SETBIT command is \"SETBIT key offset value\"";
-    public static final String SET =
-        "The wrong number of arguments or syntax was provided, the format for the SET command is \"SET key value [EX seconds] [PX milliseconds] [NX|XX]\"";
-    public static final String SETEX =
-        "The wrong number of arguments or syntax was provided, the format for the SETEX command is \"SETEX key seconds value\"";
-    public static final String SETNX =
-        "The wrong number of arguments or syntax was provided, the format for the SETNX command is \"SETNX key value\"";
-    public static final String SETRANGE =
-        "The wrong number of arguments or syntax was provided, the format for the SETRANGE command is \"SETRANGE key offset value\"";
-    public static final String STRLEN =
-        "The wrong number of arguments or syntax was provided, the format for the STRELEN command is \"STRLEN key\"";
-
-    /*
-     * Transaction
-     */
-    public static final String DISCARD = null;
-    public static final String EXEC = null;
-    public static final String MULTI = null;
-    public static final String UNWATCH = null;
-    public static final String WATCH = null;
-  }
-
-}


Mime
View raw message