hollow/src/main/java/com/netflix/hollow/tools/combine/HollowCombinerExcludePrimaryKeysCopyDirector.java
public void excludeReferencedObjects() {
        Set<HollowReadStateEngine> stateEngines = new HashSet<HollowReadStateEngine>();
        for(Map.Entry<HollowTypeReadState, BitSet> entry : excludedOrdinals.entrySet())
            stateEngines.add(entry.getKey().getStateEngine());
        
        for(HollowReadStateEngine stateEngine : stateEngines) {
            Map<String, BitSet> typeBitSetsForStateEngine = new HashMap<String, BitSet>();
            
            for(Map.Entry<HollowTypeReadState, BitSet> entry : excludedOrdinals.entrySet()) {
                if(entry.getKey().getStateEngine() == stateEngine) {
                    String type = entry.getKey().getSchema().getName();
                    typeBitSetsForStateEngine.put(type, BitSet.valueOf(entry.getValue().toLongArray()));
                }
            }
            
            TransitiveSetTraverser.addTransitiveMatches(stateEngine, typeBitSetsForStateEngine);

            for(Map.Entry<String, BitSet> entry : typeBitSetsForStateEngine.entrySet())
                excludedOrdinals.put(stateEngine.getTypeState(entry.getKey()), entry.getValue());
        }
    }
public void excludeReferencedObjects() {
        Set<HollowReadStateEngine> stateEngines = new HashSet<HollowReadStateEngine>();
        for(Map.Entry<HollowTypeReadState, BitSet> entry : excludedOrdinals.entrySet())
            stateEngines.add(entry.getKey().getStateEngine());
        
        for(HollowReadStateEngine stateEngine : stateEngines) {
            Map<String, BitSet> typeBitSetsForStateEngine = new HashMap<String, BitSet>();
            
            for(Map.Entry<HollowTypeReadState, BitSet> entry : excludedOrdinals.entrySet()) {
                if(entry.getKey().getStateEngine() == stateEngine) {
                    String type = entry.getKey().getSchema().getName();
                    typeBitSetsForStateEngine.put(type, BitSet.valueOf(entry.getValue().toLongArray()));
                }
            }
            
            TransitiveSetTraverser.addTransitiveMatches(stateEngine, typeBitSetsForStateEngine);

            for(Map.Entry<String, BitSet> entry : typeBitSetsForStateEngine.entrySet())
                excludedOrdinals.put(stateEngine.getTypeState(entry.getKey()), entry.getValue());
        }
    }
public void excludeReferencedObjects ( ) { Set < HollowReadStateEngine > stateEngines = new HashSet < HollowReadStateEngine > ( ) ; for ( Map . Entry < HollowTypeReadState , BitSet > entry : excludedOrdinals . entrySet ( ) ) stateEngines . ( entry . getKey ( ) . getStateEngine ( ) ) ; for ( HollowReadStateEngine stateEngine : stateEngines ) { Map < String , BitSet > typeBitSetsForStateEngine = new HashMap < String , BitSet > ( ) ; for ( Map . Entry < HollowTypeReadState , BitSet > entry : excludedOrdinals . entrySet ( ) ) { if ( entry . getKey ( ) . getStateEngine ( ) == stateEngine ) { String type = entry . getKey ( ) . getSchema ( ) . getName ( ) ; typeBitSetsForStateEngine . put ( type , BitSet . valueOf ( entry . getValue ( ) . toLongArray ( ) ) ) ; } } TransitiveSetTraverser . addTransitiveMatches ( stateEngine , typeBitSetsForStateEngine ) ; for ( Map . Entry < String , BitSet > entry : typeBitSetsForStateEngine . entrySet ( ) ) excludedOrdinals . put ( stateEngine . getTypeState ( entry . getKey ( ) ) , entry . getValue ( ) ) ; } }
Exclude any objects which are referenced by excluded objects.
Exclude any objects which are referenced by excluded objects .