package sharpen.xobotos.api.interop.glue;
import sharpen.xobotos.api.interop.IncludeFileProvider;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class IncludeSection extends Node {
private final List<IncludeDirective> _includes = new ArrayList<IncludeDirective>();
public void addInclude(IncludeDirective include) {
for (IncludeDirective entry : _includes) {
if (entry.getName().equals(include.getName()))
return;
}
_includes.add(include);
}
public void addInclude(String name) {
for (IncludeDirective include : _includes) {
if (include.getName().equals(name))
return;
}
_includes.add(new IncludeDirective(name, true));
}
public void addIncludes(List<String> includes) {
if (includes != null) {
for (String include : includes)
addInclude(include);
}
}
public void addIncludes(IncludeFileProvider provider) {
if (provider != null)
addIncludes(provider.getIncludes());
}
public List<IncludeDirective> getIncludes() {
return Collections.unmodifiableList(_includes);
}
@Override
public void accept(Visitor visitor) {
visitor.visit(this);
}
}