import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import org.opendaylight.controller.cluster.datastore.DataStoreVersions;
import org.opendaylight.controller.cluster.datastore.messages.VersionedExternalizableMessage;
private static final long serialVersionUID = 1L;
private final List<Modification> modifications = new ArrayList<>();
+ private List<Modification> immutableModifications = null;
public MutableCompositeModification() {
this(DataStoreVersions.CURRENT_VERSION);
* @param modification the modification to add.
*/
public void addModification(Modification modification) {
+ Preconditions.checkNotNull(modification);
modifications.add(modification);
}
+ public void addModifications(Iterable<Modification> newMods) {
+ for (Modification mod : newMods) {
+ addModification(mod);
+ }
+ }
+
@Override
public List<Modification> getModifications() {
- return modifications;
+ if (immutableModifications == null) {
+ immutableModifications = Collections.unmodifiableList(modifications);
+ }
+
+ return immutableModifications;
}
@Override