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.LdifChangeTypeLine; 30 import org.apache.directory.ldapstudio.browser.core.model.ldif.lines.LdifDnLine; 31 32 33 public class LdifChangeAddRecord extends LdifChangeRecord 34 { 35 36 private static final long serialVersionUID = -8976783000053951136L; 37 38 39 protected LdifChangeAddRecord() 40 { 41 } 42 43 44 public LdifChangeAddRecord( LdifDnLine dn ) 45 { 46 super( dn ); 47 } 48 49 50 public void addAttrVal( LdifAttrValLine attrVal ) 51 { 52 if ( attrVal == null ) 53 throw new IllegalArgumentException ( "null argument" ); 54 this.parts.add( attrVal ); 55 } 56 57 58 public LdifAttrValLine[] getAttrVals() 59 { 60 List l = new ArrayList (); 61 for ( Iterator it = this.parts.iterator(); it.hasNext(); ) 62 { 63 Object o = it.next(); 64 if ( o instanceof LdifAttrValLine ) 65 { 66 l.add( o ); 67 } 68 } 69 return ( LdifAttrValLine[] ) l.toArray( new LdifAttrValLine[l.size()] ); 70 } 71 72 73 public static LdifChangeAddRecord create( String dn ) 74 { 75 LdifChangeAddRecord record = new LdifChangeAddRecord( LdifDnLine.create( dn ) ); 76 record.setChangeType( LdifChangeTypeLine.createAdd() ); 77 return record; 78 } 79 80 81 public boolean isValid() 82 { 83 if ( !super.isAbstractValid() ) 84 { 85 return false; 86 } 87 return getAttrVals().length > 0; 88 } 89 90 } 91 | Popular Tags |