package com.vaadin.addon.audio.shared;

import java.util.ArrayList;
import java.util.List;

public class SharedEffect {
	
	public enum EffectName {
		BalanceEffect,
		FilterEffect,
		PitchEffect,
		VolumeEffect
	}
	
	private String id;
	private EffectName name;
	private List<SharedEffectProperty> properties = new ArrayList<SharedEffectProperty>();
	
	public SharedEffect() {
		// for gwt
	}
	
	public SharedEffect(String id, EffectName name) {
		this.id = id;
		this.name = name;
	}
	
	public String getID() {
		return id;
	}
	
	public void setID(String id) {
		this.id = id;
	}
	
	public EffectName getName() {
		return name;
	}
	
	public void setName(EffectName name) {
		this.name = name;
	}

	public void setProperties(List<SharedEffectProperty> properties) {
		this.properties.clear();
		this.properties.addAll(properties);
	}
	
	public List<SharedEffectProperty> getProperties() {
		return properties;
	}
	
}

@@ -33,16 +33,45 @@
 hared;%0A%0A
+import java.io.Serializable;%0A
 import j
@@ -114,16 +114,44 @@
 .List;%0A%0A
+@SuppressWarnings(%22serial%22)%0A
 public c
@@ -168,16 +168,40 @@
 dEffect 
+implements Serializable 
 %7B%0A%09%0A%09pub

Make SharedEffect serialized