From 74380e1fc9795400d24c813fc589163e359c7dc3 Mon Sep 17 00:00:00 2001 From: Mattias Hellborg Arthursson Date: Wed, 14 Aug 2013 14:15:31 +0200 Subject: [PATCH] LDAP-226: empty OrFilter should be false (|) and empty AndFilter should be true (&), see also rfc4526 Added two new Filter implementations: AbsoluteTrueFilter and AbsoluteFalseFilter. --- .../ldap/filter/AbsoluteFalseFilter.java | 29 ++++++++++++++++++ .../ldap/filter/AbsoluteTrueFilter.java | 30 +++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 core/src/main/java/org/springframework/ldap/filter/AbsoluteFalseFilter.java create mode 100644 core/src/main/java/org/springframework/ldap/filter/AbsoluteTrueFilter.java diff --git a/core/src/main/java/org/springframework/ldap/filter/AbsoluteFalseFilter.java b/core/src/main/java/org/springframework/ldap/filter/AbsoluteFalseFilter.java new file mode 100644 index 00000000..26a5d7ca --- /dev/null +++ b/core/src/main/java/org/springframework/ldap/filter/AbsoluteFalseFilter.java @@ -0,0 +1,29 @@ +/* + * Copyright 2005-2010 the original author or authors. + * + * Licensed 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.springframework.ldap.filter; + +/** + * A filter that will always evaluate to false, as specified in RFC4526. + * + * @author Mattias Hellborg Arthursson + * @see RFC4526 + * @since 1.3.2 + */ +public class AbsoluteFalseFilter extends AbstractFilter { + public StringBuffer encode(StringBuffer buff) { + return buff.append("(|)"); + } +} diff --git a/core/src/main/java/org/springframework/ldap/filter/AbsoluteTrueFilter.java b/core/src/main/java/org/springframework/ldap/filter/AbsoluteTrueFilter.java new file mode 100644 index 00000000..d68b5931 --- /dev/null +++ b/core/src/main/java/org/springframework/ldap/filter/AbsoluteTrueFilter.java @@ -0,0 +1,30 @@ +/* + * Copyright 2005-2010 the original author or authors. + * + * Licensed 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.springframework.ldap.filter; + +/** + * A filter that will always evaluate to true, as specified in RFC4526. + * + * @author Mattias Hellborg Arthursson + * @see RFC4526 + * @since 1.3.2 + */ +public class AbsoluteTrueFilter extends AbstractFilter { + public StringBuffer encode(StringBuffer buff) { + buff.append("(&)"); + return buff; + } +}