package org.fluentlenium.core.inject;
import org.fluentlenium.core.hook.HookDefinition;
import org.openqa.selenium.SearchContext;
import java.util.ArrayList;
import java.util.List;
/**
* Context for a container
*/
public class DefaultContainerContext implements ContainerContext {
private final Object container;
private final ContainerContext parentContext;
private final SearchContext searchContext;
private final List<HookDefinition<?>> hookDefinitions = new ArrayList<>();
/**
* Creates a new container context
*
* @param container container
*/
public DefaultContainerContext(Object container) {
this(container, null, null);
}
/**
* Creates a new container context, with a parent context and a search context
*
* @param container container
* @param parentContext parent context
* @param searchContext search context
*/
public DefaultContainerContext(Object container, ContainerContext parentContext, SearchContext searchContext) {
this.container = container;
this.parentContext = parentContext;
this.searchContext = searchContext;
}
@Override
public Object getContainer() {
return container;
}
@Override
public ContainerContext getParent() {
return parentContext;
}
@Override
public SearchContext getSearchContext() {
return searchContext;
}
@Override
public List<HookDefinition<?>> getHookDefinitions() {
return hookDefinitions;
}
}