Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (c) 2010. Axon Framework
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   * http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package org.axonframework.saga.annotation;
 
 
 import java.util.Set;

Default implementation of the AssociationValues interface. This implementation is fully serializable. Registered ChangeListeners are cleared upon serialization and need to be reregistered after deserialization.

Author(s):
Allard Buijze
Since:
0.7
 
 public class AssociationValuesImpl implements AssociationValuesSerializable {
 
     private static final long serialVersionUID = 8273718165811296962L;
 
     private Set<AssociationValuevalues = new HashSet<AssociationValue>();
     private transient Set<ChangeListenerhandlers = new HashSet<ChangeListener>();
 
     @Override
     public void addChangeListener(ChangeListener changeListener) {
         .add(changeListener);
     }
 
     @Override
     public void removeChangeListener(ChangeListener changeListener) {
         .remove(changeListener);
     }
 
     @Override
     public int size() {
         return .size();
     }
 
     @Override
     public boolean isEmpty() {
         return .isEmpty();
     }
 
     @Override
     public boolean contains(Object o) {
         return .contains(o);
     }
 
     @Override
     public Iterator<AssociationValueiterator() {
         return Collections.unmodifiableSet().iterator();
     }
 
     @Override
     public Object[] toArray() {
         return .toArray();
     }
 
     @Override
     public <T> T[] toArray(T[] a) {
         return .toArray(a);
     }
 
     @Override
     public boolean add(AssociationValue associationValue) {
         boolean added = .add(associationValue);
         if (added) {
             for (ChangeListener cl : ) {
                 cl.onAssociationValueAdded(associationValue);
             }
         }
         return added;
     }
 
     @Override
     public boolean remove(Object o) {
         boolean removed = .remove(o);
        if (removed) {
            for (ChangeListener cl : ) {
                cl.onAssociationValueRemoved((AssociationValueo);
            }
        }
        return removed;
    }
    @Override
    public boolean containsAll(Collection<?> c) {
        return .containsAll(c);
    }
    @Override
    public boolean addAll(Collection<? extends AssociationValuec) {
        boolean added = false;
        for (AssociationValue val : c) {
            added |= add(val);
        }
        return added;
    }
    @Override
    public boolean retainAll(Collection<?> c) {
        return .retainAll(c);
    }
    @Override
    public boolean removeAll(Collection<?> c) {
        return .removeAll(c);
    }
    @Override
    public void clear() {
        .clear();
    }
    @Override
    public boolean equals(Object o) {
        return .equals(o);
    }
    @Override
    public int hashCode() {
        return .hashCode();
    }
    // Java Serialization methods
    private void writeObject(ObjectOutputStream outthrows IOException {
        out.defaultWriteObject();
    }
    private void readObject(ObjectInputStream inthrows IOExceptionClassNotFoundException {
        in.defaultReadObject();
         = new HashSet<ChangeListener>();
    }
New to GrepCode? Check out our FAQ X