test_class.file: fluxtream-core/src/test/java/org/bodytrack/datastore/KeyValueStoreHelperTest.java
test_class.identifier: KeyValueStoreHelperTest
test_case.body: @Test
      public void testIsValidKey() {
          Assert.assertFalse(KeyValueStoreHelper.isValidKey(null));
          Assert.assertFalse(KeyValueStoreHelper.isValidKey(""));
          Assert.assertFalse(KeyValueStoreHelper.isValidKey("."));
          Assert.assertFalse(KeyValueStoreHelper.isValidKey(".."));
          Assert.assertFalse(KeyValueStoreHelper.isValidKey(".a."));
          Assert.assertFalse(KeyValueStoreHelper.isValidKey("a."));
          Assert.assertFalse(KeyValueStoreHelper.isValidKey(".a"));
          Assert.assertFalse(KeyValueStoreHelper.isValidKey("$"));
          Assert.assertFalse(KeyValueStoreHelper.isValidKey("="));
          Assert.assertFalse(KeyValueStoreHelper.isValidKey("a.b..c"));
  
          Assert.assertTrue(KeyValueStoreHelper.isValidKey("a"));
          Assert.assertTrue(KeyValueStoreHelper.isValidKey("a.b"));
          Assert.assertTrue(KeyValueStoreHelper.isValidKey("a.b.c"));
          Assert.assertTrue(KeyValueStoreHelper.isValidKey("a-b-c"));
          Assert.assertTrue(KeyValueStoreHelper.isValidKey("a_b_c"));
          Assert.assertTrue(KeyValueStoreHelper.isValidKey("a._-b"));
          Assert.assertTrue(KeyValueStoreHelper.isValidKey("____"));
          Assert.assertTrue(KeyValueStoreHelper.isValidKey("----"));
      }
test_case.class_method_signature: KeyValueStoreHelperTest.testIsValidKey()
test_case.full_signature: @Test public void testIsValidKey()
test_case.identifier: testIsValidKey
test_case.invocations: assertFalse isValidKey assertFalse isValidKey assertFalse isValidKey assertFalse isValidKey assertFalse isValidKey assertFalse isValidKey assertFalse isValidKey assertFalse isValidKey assertFalse isValidKey assertFalse isValidKey assertTrue isValidKey assertTrue isValidKey assertTrue isValidKey assertTrue isValidKey assertTrue isValidKey assertTrue isValidKey assertTrue isValidKey assertTrue isValidKey
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testIsValidKey()
focal_class.declarator: VALID_KEY_CHARACTERS_PATTERN = Pattern.compile("[a-zA-Z0-9_\\.\\-]+")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern VALID_KEY_CHARACTERS_PATTERN = Pattern.compile("[a-zA-Z0-9_\\.\\-]+");
focal_class.type: Pattern
focal_class.var_name: VALID_KEY_CHARACTERS_PATTERN
focal_class.file: fluxtream-core/src/main/java/org/bodytrack/datastore/KeyValueStoreHelper.java
focal_class.identifier: KeyValueStoreHelper
focal_class.class_method_signature: KeyValueStoreHelper.isValidKey(@Nullable final String key)
focal_class.full_signature: public static boolean isValidKey(@Nullable final String key)
focal_class.identifier: isValidKey
focal_class.modifiers: public static
focal_class.parameters: (@Nullable final String key)
focal_class.return: boolean
focal_class.signature: boolean isValidKey(@Nullable final String key)
focal_class.class_method_signature: KeyValueStoreHelper.KeyValueStoreHelper()
focal_class.full_signature: private  KeyValueStoreHelper()
focal_class.identifier: KeyValueStoreHelper
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  KeyValueStoreHelper()
focal_method.body: public static boolean isValidKey(@Nullable final String key) {
          return key != null &&
                 key.length() > 0 &&
                 !key.startsWith(".") &&
                 !key.endsWith(".") &&
                 !key.contains("..") &&
                 VALID_KEY_CHARACTERS_PATTERN.matcher(key).matches();
      }
focal_method.class_method_signature: KeyValueStoreHelper.isValidKey(@Nullable final String key)
focal_method.full_signature: public static boolean isValidKey(@Nullable final String key)
focal_method.identifier: isValidKey
focal_method.invocations: length startsWith endsWith contains matches matcher
focal_method.modifiers: public static
focal_method.parameters: (@Nullable final String key)
focal_method.return: boolean
focal_method.signature: boolean isValidKey(@Nullable final String key)