001// Generated by delombok at Sun Jul 30 17:21:56 UTC 2023
002package de.cuioss.test.jsf.mocks;
003
004import static javax.faces.FactoryFinder.SEARCH_EXPRESSION_CONTEXT_FACTORY;
005import java.util.Set;
006import javax.faces.FactoryFinder;
007import javax.faces.component.UIComponent;
008import javax.faces.component.search.SearchExpressionContext;
009import javax.faces.component.search.SearchExpressionContextFactory;
010import javax.faces.component.search.SearchExpressionHint;
011import javax.faces.component.visit.VisitHint;
012import javax.faces.context.FacesContext;
013
014/**
015 * Mock for {@link SearchExpressionContextFactory}. It can be used by accessing
016 * the instance of the mock by using {@link #retrieve()} and setting a concrete
017 * {@link #setSearchExpressionContext(SearchExpressionContext)} that is used for
018 * the actual test. If not an instance of {@link CuiMockSearchExpressionContext}
019 * will be returned.
020 *
021 * @author Oliver Wolff
022 */
023public class CuiMockSearchExpressionContextFactory extends SearchExpressionContextFactory {
024    private SearchExpressionContext searchExpressionContext;
025
026    /**
027     * Default Constructor.
028     */
029    public CuiMockSearchExpressionContextFactory() {
030        super(null);
031    }
032
033    @Override
034    public SearchExpressionContext getSearchExpressionContext(FacesContext context, UIComponent source, Set<SearchExpressionHint> expressionHints, Set<VisitHint> visitHints) {
035        if (null != searchExpressionContext) {
036            return searchExpressionContext;
037        }
038        return new CuiMockSearchExpressionContext(source, context, visitHints, expressionHints);
039    }
040
041    @Override
042    public SearchExpressionContextFactory getWrapped() {
043        return null;
044    }
045
046    /**
047     * Shorthand for accessing the configured
048     * {@link CuiMockSearchExpressionContextFactory}
049     *
050     * @return the currently active instance of SearchExpressionContextFactory
051     */
052    public static final CuiMockSearchExpressionContextFactory retrieve() {
053        return (CuiMockSearchExpressionContextFactory) FactoryFinder.getFactory(SEARCH_EXPRESSION_CONTEXT_FACTORY);
054    }
055
056    @java.lang.SuppressWarnings("all")
057    @lombok.Generated
058    public SearchExpressionContext getSearchExpressionContext() {
059        return this.searchExpressionContext;
060    }
061
062    @java.lang.SuppressWarnings("all")
063    @lombok.Generated
064    public void setSearchExpressionContext(final SearchExpressionContext searchExpressionContext) {
065        this.searchExpressionContext = searchExpressionContext;
066    }
067}