/**
 * Copyright 2008-2009. Chongqing Communications Industry Services Co.,Ltd Information Technology Branch. All rights reserved.
 * <a>http://www.crunii.com</a>
 */
package com.crunii.micro.common.concurrent.collection;

import javax.annotation.concurrent.ThreadSafe;
import java.io.Serializable;
import java.util.List;

/**
 * <pre>
 *     固定长度的list，
 *     达到长度后，前面的数据会删除
 *     使用于保存最近的固定条数的记录
 *     长度不宜过大，尽量不超过1千
 * </pre>
 *
 * @author 田平 create 2022-07-26 15:30:28
 */
@ThreadSafe
public interface FixSizeList<T extends Serializable & RemoveId> {

	public List<T> getAll();

	public boolean removeById(String id);

	public void add(T element);

	public void addAll(List<T> elements);

	public void clear();
}
