public synchronized void addFactory ( ContextHandleFactory factory ) { final String factoryName = factory . getName ( ) ; if ( factoryMap . containsKey ( factoryName ) ) { throw EeLogger . ROOT_LOGGER . factoryAlreadyExists ( this , factoryName ) ; } factoryMap . put ( factoryName , factory ) ; final Comparator < ContextHandleFactory > comparator = new Comparator < ContextHandleFactory > ( ) { @ Override public int compare ( ContextHandleFactory o1 , ContextHandleFactory o2 ) { return Integer . compare ( o1 . getChainPriority ( ) , o2 . getChainPriority ( ) ) ; } } ; SortedSet < ContextHandleFactory > sortedSet = new TreeSet <> ( comparator ) ; sortedSet . addAll ( factoryMap . values ( ) ) ; factoryOrderedList = new ArrayList <> ( sortedSet ) ; }
Adds a new factory .