package com.capgemini.reports.filter;

import com.capgemini.framework.teamcenter.authent.TcSession;
import com.capgemini.framework.teamcenter.resolution.filtering.ITcTypeFilter;
import com.capgemini.reports.bomlineholder.BOMLineHolder;
import com.capgemini.reports.snecmaobjects.ISnecmaObject;

/** Interface for classes that can act as filters on a series of {@link BOMLineHolder}s or {@link ISnecmaObject}s. */
public interface IFilterExplosionNomenclature extends ITcTypeFilter {

    /**
     * Tests the provided object for exclusion.
     *
     *
     * @param session
     * @param object the object to be tested
     * @return <code>true</code> if the object should be excluded
     */
    boolean isExcluded(TcSession session, final BOMLineHolder object);

    /**
     * Tests the provided object for exclusion.
     * 
     * @param object the object to be tested
     * @return <code>true</code> if the object should be excluded
     */
    boolean isExcluded(final ISnecmaObject object);
}
