Javadoc
Parse a change operation. We have to handle different cases depending on
the operation. 1) Delete : there should *not* be any line after the
"changetype: delete" 2) Add : we must have a list of AttributeType :
AttributeValue elements 3) ModDN : we must have two following lines: a
"newrdn:" and a "deleteoldrdn:" 4) ModRDN : the very same, but a
"newsuperior:" line is expected 5) Modify :
The grammar is : <changerecord> ::= "changetype:" FILL "add" SEP
<attrval-spec> <attrval-specs-e> | "changetype:" FILL "delete" |
"changetype:" FILL "modrdn" SEP <newrdn> SEP <deleteoldrdn> SEP | // To
be checked "changetype:" FILL "moddn" SEP <newrdn> SEP <deleteoldrdn> SEP
<newsuperior> SEP | "changetype:" FILL "modify" SEP <mod-spec>
<mod-specs-e> <newrdn> ::= "newrdn:" FILL RDN | "newrdn::" FILL
BASE64-RDN <deleteoldrdn> ::= "deleteoldrdn:" FILL "0" | "deleteoldrdn:"
FILL "1" <newsuperior> ::= "newsuperior:" FILL DN | "newsuperior::" FILL
BASE64-DN <mod-specs-e> ::= <mod-spec> <mod-specs-e> | e <mod-spec> ::=
"add:" <mod-val> | "delete:" <mod-val> | "replace:" <mod-val> <mod-val>
::= FILL ATTRIBUTE-DESCRIPTION SEP ATTRVAL-SPEC <attrval-specs-e> "-" SEP
<attrval-specs-e> ::= ATTRVAL-SPEC <attrval-specs> | e