public boolean canApplyTypeRule(JSONObject jsonTypeRule) {
		Iterator<?> iterator = jsonTypeRule.keys();
		boolean can = true;
		while (iterator.hasNext()) {
			String param = (String) iterator.next();
			String valuePattern = "";
			String value = "";
			if (currentHmParameters.containsKey(param)) {
				value = currentHmParameters.get(param);
				try {
					valuePattern = jsonTypeRule.getString(param);
					if (!Pattern.matches(valuePattern, value)) {
						can = false;
						break;
					}
				} catch (JSONException e) {
					// TODO Auto-generated catch block
					can = false;
					e.printStackTrace();
					break;
				}
			} else {
				can = false;
				break;
			}
		}
		return can;
	}