package fr.openwide.core.jpa.more.business.task.service.impl;
import java.util.concurrent.BlockingQueue;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.util.Assert;
import com.google.common.collect.Queues;
import com.google.common.util.concurrent.ForwardingBlockingQueue;
public final class TaskQueue extends ForwardingBlockingQueue<Long> {
private final String id;
private final BlockingQueue<Long> delegate = Queues.newLinkedBlockingQueue();
public TaskQueue(String id) {
Assert.notNull(id);
this.id = id;
}
public final String getId() {
return id;
}
@Override
protected BlockingQueue<Long> delegate() {
return delegate;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE)
.append("id", id)
.append("delegate", delegate)
.build();
}
}