package org.kefirsf.bb.conf;
import java.util.Collections;
import java.util.List;
/**
* Base abstract class for pattern and template configuration classes.
*
* @author kefir
*/
abstract class ElementListOwner<T> {
/**
* Collection of elements PatternElement or TemplateElement
*/
private List<? extends T> elements;
/**
* The default constructor.
*/
protected ElementListOwner() {
elements = Collections.<T>emptyList();
}
/**
* @param elements pattern or template elements.
*/
protected ElementListOwner(List<? extends T> elements) {
this.elements = Collections.unmodifiableList(elements);
}
/**
* Get pattern elements
*
* @return elements list
*/
public List<? extends T> getElements() {
return elements;
}
/**
* Set pattern elements
*
* @param elements elements list
*/
public void setElements(List<? extends T> elements) {
this.elements = Collections.unmodifiableList(elements);
}
public boolean isEmpty() {
return elements == null || elements.isEmpty();
}
}