1 20 21 package org.apache.directory.ldapstudio.browser.core.model.ldif.container; 22 23 24 import java.util.ArrayList ; 25 import java.util.Iterator ; 26 import java.util.List ; 27 28 import org.apache.directory.ldapstudio.browser.core.model.ldif.lines.LdifAttrValLine; 29 import org.apache.directory.ldapstudio.browser.core.model.ldif.lines.LdifDnLine; 30 31 32 public class LdifContentRecord extends LdifRecord 33 { 34 35 private static final long serialVersionUID = -1410857864284794069L; 36 37 38 protected LdifContentRecord() 39 { 40 } 41 42 43 public LdifContentRecord( LdifDnLine dn ) 44 { 45 super( dn ); 46 } 47 48 49 public void addAttrVal( LdifAttrValLine attrVal ) 50 { 51 if ( attrVal == null ) 52 throw new IllegalArgumentException ( "null argument" ); 53 this.parts.add( attrVal ); 54 } 55 56 57 public LdifAttrValLine[] getAttrVals() 58 { 59 List l = new ArrayList (); 60 for ( Iterator it = this.parts.iterator(); it.hasNext(); ) 61 { 62 Object o = it.next(); 63 if ( o instanceof LdifAttrValLine ) 64 { 65 l.add( o ); 66 } 67 } 68 return ( LdifAttrValLine[] ) l.toArray( new LdifAttrValLine[l.size()] ); 69 } 70 71 72 public static LdifContentRecord create( String dn ) 73 { 74 return new LdifContentRecord( LdifDnLine.create( dn ) ); 75 } 76 77 78 public boolean isValid() 79 { 80 if ( !super.isAbstractValid() ) 81 { 82 return false; 83 } 84 return getAttrVals().length > 0; 85 86 } 87 88 89 public String getInvalidString() 90 { 91 if ( !( getAttrVals().length > 0 ) ) 92 return "Record must contain attribute value lines"; 93 else 94 return super.getInvalidString(); 95 } 96 97 } 98 | Popular Tags |