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