@Override
	public boolean execute(RuleExecutorParam param) {
		Rule rule = param.getRule();
		List<String> values = Util.getValue(param, rule);
		if (values == null || values.isEmpty()) {
			return false;
		}
		boolean retValue = true;
		for (String value : values) {
			String compareValue = rule.getValue();
			if (rule.isIgnoreCase()) {
				value = value.toUpperCase();
				compareValue = compareValue.toUpperCase();
			}
			boolean intRetValue = value.startsWith(compareValue);
			if (Operators.DoesNotStartsWith.getValue().equals(rule.getOper())) {
				intRetValue = !intRetValue;
			}
			retValue = retValue && intRetValue;
		}
		return retValue;
	}