1 20 21 package org.apache.directory.ldapstudio.browser.core.model.filter; 22 23 24 import org.apache.directory.ldapstudio.browser.core.model.filter.parser.LdapFilterToken; 25 26 27 public class LdapNotFilterComponent extends LdapFilterComponent 28 { 29 30 public LdapNotFilterComponent( LdapFilter parent ) 31 { 32 super( parent ); 33 } 34 35 36 public boolean setStartToken( LdapFilterToken notToken ) 37 { 38 if ( notToken != null && notToken.getType() == LdapFilterToken.NOT ) 39 { 40 return super.setStartToken( notToken ); 41 } 42 else 43 { 44 return false; 45 } 46 } 47 48 49 54 public boolean addFilter( LdapFilter filter ) 55 { 56 if ( this.filterList.isEmpty() ) 57 { 58 return super.addFilter( filter ); 59 } 60 else 61 { 62 return false; 65 } 66 } 67 68 69 public String getInvalidCause() 70 { 71 if ( this.startToken == null ) 72 { 73 return "Missing NOT character '!'"; 74 } 75 else if ( this.filterList == null || this.filterList.isEmpty() ) 76 { 77 return "Missing filter expression"; 78 } 79 else 80 { 81 return "Invalid NOT filter"; 82 } 83 } 84 85 86 public String toString() 87 { 88 return ( this.startToken != null ? "!" : "" ) 89 + ( !this.filterList.isEmpty() ? this.filterList.get( 0 ).toString() : "" ); 90 } 91 92 } 93 | Popular Tags |