001 /* 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, 013 * software distributed under the License is distributed on an 014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 015 * KIND, either express or implied. See the License for the 016 * specific language governing permissions and limitations 017 * under the License. 018 * 019 */ 020 package org.apache.directory.shared.ldap.filter; 021 022 023 import org.apache.directory.shared.ldap.entry.Value; 024 025 026 /** 027 * A assertion value node for Equality. 028 * 029 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a> 030 * @version $Revision: 519266 $ 031 */ 032 public class EqualityNode<T> extends SimpleNode<T> 033 { 034 /** 035 * Creates a new Equality object. 036 * 037 * @param attribute the attribute name 038 * @param value the value to test for 039 */ 040 public EqualityNode( String attribute, Value<T> value ) 041 { 042 super( attribute, value, AssertionType.EQUALITY ); 043 } 044 045 /** 046 * Makes a full clone in new memory space of the current node and children 047 * 048 * @return the clone 049 */ 050 @Override public ExprNode clone() 051 { 052 return super.clone(); 053 } 054 055 056 /** 057 * Creates a new Equality object. 058 * 059 * @param attribute the attribute name 060 * @param value the value to test for 061 * @param assertionType The node's type 062 */ 063 protected EqualityNode( String attribute, Value<T> value, AssertionType assertionType ) 064 { 065 super( attribute, value, assertionType ); 066 } 067 068 069 /** 070 * @see Object#toString() 071 * @return A string representing the AndNode 072 */ 073 public String toString() 074 { 075 StringBuilder buf = new StringBuilder(); 076 077 buf.append( '(' ).append( getAttribute() ).append( "=" ).append( getEscapedValue() ); 078 079 buf.append( super.toString() ); 080 081 buf.append( ')' ); 082 083 return buf.toString(); 084 } 085 }