Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.jacorb.notification.servant;
  
  /*
   *        JacORB - a free Java ORB
   *
   *   Copyright (C) 1997-2012 Gerald Brose / The JacORB Team.
   *
   *   This library is free software; you can redistribute it and/or
   *   modify it under the terms of the GNU Library General Public
  *   License as published by the Free Software Foundation; either
  *   version 2 of the License, or (at your option) any later version.
  *
  *   This library is distributed in the hope that it will be useful,
  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  *   Library General Public License for more details.
  *
  *   You should have received a copy of the GNU Library General Public
  *   License along with this library; if not, write to the Free
  *   Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
 import java.util.List;
 

Author(s):
Alphonse Bendt
 
 
 public abstract class FilterStageListManager
 {
     public interface FilterStageList
     {
         void add(FilterStage filterStage);
     }
 
     // //////////////////////////////////////
 
     private final Object lock_ = new Object();
 
     private List checkedList_ = .;
 
     private boolean sourceModified_;
 
     private List readOnlyView_ = .;
 
     // //////////////////////////////////////
 
     public void actionSourceModified()
     {
         synchronized ()
         {
              = true;
         }
     }
 
     public List getList()
     {
         synchronized ()
         {
             refreshNoLocking();
 
             // as readOnlyView_ delegates to checkedList_ sorting
             // will also affect the order of readOnlyView_
             doSortCheckedList();
 
             return ;
         }
     }
 
     public void refresh()
     {
         synchronized ()
         {
             refreshNoLocking();
         }
     }
 
     private void refreshNoLocking()
     {
         if ()
         {
             final List _newList = new ArrayList();
 
             FilterStageList _listProxy = new FilterStageList()
             {
                 public void add(FilterStage filterStage)
                 {
                     if (!filterStage.isDestroyed())
                     {
                         _newList.add(filterStage);
                     }
                 }
             };
 
             fetchListData(_listProxy);
             = _newList;
             = Collections.unmodifiableList();
             = false;
        }
    }
    protected void doSortCheckedList(List list)
    {
        // No OP
    }
    protected abstract void fetchListData(FilterStageList listProxy);
New to GrepCode? Check out our FAQ X