001
014
015 package com.liferay.portal.kernel.util;
016
017 import java.io.Serializable;
018
019 import java.util.ArrayList;
020 import java.util.List;
021
022
025 public class ListMergeable<T>
026 implements Mergeable<ListMergeable<T>>, Serializable {
027
028 public void add(T t) {
029 _list.add(t);
030 }
031
032 public boolean contains(T t) {
033 return _list.contains(t);
034 }
035
036 @Override
037 public ListMergeable<T> merge(ListMergeable<T> listMergeable) {
038 if ((listMergeable == null) || (listMergeable == this)) {
039 return this;
040 }
041
042 for (T t : listMergeable._list) {
043 if (!_list.contains(t)) {
044 _list.add(t);
045 }
046 }
047
048 return this;
049 }
050
051 public String mergeToString(String delimiter) {
052 return StringUtil.merge(_list, delimiter);
053 }
054
055 private static final long serialVersionUID = 1L;
056
057 private List<T> _list = new ArrayList<T>();
058
059 }