Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
   *
   * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
   *
   * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
   * Other names may be trademarks of their respective owners.
   *
   * The contents of this file are subject to the terms of either the GNU
  * General Public License Version 2 only ("GPL") or the Common
  * Development and Distribution License("CDDL") (collectively, the
  * "License"). You may not use this file except in compliance with the
  * License. You can obtain a copy of the License at
  * http://www.netbeans.org/cddl-gplv2.html
  * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
  * specific language governing permissions and limitations under the
  * License.  When distributing the software, include this License Header
  * Notice in each file and include the License file at
  * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
  * particular file as subject to the "Classpath" exception as provided
  * by Oracle in the GPL Version 2 section of the License file that
  * accompanied this code. If applicable, add the following below the
  * License Header, with the fields enclosed by brackets [] replaced by
  * your own identifying information:
  * "Portions Copyrighted [year] [name of copyright owner]"
  *
  * Contributor(s):
  *
  * The Original Software is NetBeans. The Initial Developer of the Original
  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
  * Microsystems, Inc. All Rights Reserved.
  *
  * If you wish your version of this file to be governed by only the CDDL
  * or only the GPL Version 2, indicate your decision by adding
  * "[Contributor] elects to include this software in this distribution
  * under the [CDDL or GPL Version 2] license." If you do not indicate a
  * single choice of license, a recipient has the option to distribute
  * your version of this file under either the CDDL, the GPL Version 2 or
  * to extend the choice of license to its licensees as provided above.
  * However, if you add GPL Version 2 code and therefore, elected the GPL
  * Version 2 license, then the option applies only if the new code is
  * made subject to such option by the copyright holder.
  */
 package org.netbeans.modules.vmd.inspector;
 
 
 import java.util.*;

Author(s):
Karol Harezlak
 
 final class InspectorFolderWrapper {
 
     private List<InspectorFolderWrapperchildren;
     private InspectorFolder folder;
     private InspectorFolderNode node;
     private Set<InspectorFolderWrappertoRemove;
     private Map<IntegerList<InspectorFolder>> sortedLists;
     private List<AbstractNodechildrenNode;
 
     InspectorFolderWrapper(DesignDocument documentInspectorFolder folder) {
         this. = folder;
         this. = new WeakReference<DesignDocument>(document);
     }
 
         return ;
     }
 
         if ( == null) {
             return null;
         }
 
         if ( == null) {
              = new ArrayList<AbstractNode>();
         } else {
             .clear();
         }
        for (InspectorFolderWrapper child : ) {
            .add(child.getNode());
        }
        return ;
    }
    boolean removeChild(InspectorFolder folder) {
        if ( == null) {
            return false;
        }
        if ( == null) {
             = new HashSet<InspectorFolderWrapper>();
        } else {
            .clear();
        }
        for (InspectorFolderWrapper child : ) {
            if (child.getFolder().equals(folder)) {
                .add(child);
            }
        }
        if ( == null || .isEmpty()) {
            return false;
        }
        .removeAll();
        return true;
    }
        return ;
    }
    void setChildren(List<InspectorFolderWrapperchildren) {
        if (children == null || this. == children) {
            return;
        }
        this. = children;
        if ( == null) {
             = new ArrayList<InspectorFolder>();
        } else {
            .clear();
        }
        for (InspectorFolderWrapper wrapper : children) {
            .add(wrapper.getFolder());
        }
    }
        return ;
    }
        if ( == null) {
            return null;
        }
        return .get();
    }
    void resolveFolder(DesignDocument document) {
        if ( == null) {
            DataObjectContext dc = ProjectUtils.getDataObjectContextForDocument(document);
            if (dc != null) {
                 = new InspectorFolderNode(dc);
            } else //TODO No Lookup for root node only
            {
                 = new InspectorFolderNode();
            }
        }
        if (.getComponentID() != null) {
             = new WeakReference<DesignComponent>(document.getComponentByUID(.getComponentID()));
        }
        executeOrder();
        getNode().resolveNode(thisdocument);
    }
        return ;
    }
    public AcceptSuggestion createSuggestion(Transferable transferable) {
        return .createSuggestion(transferable);
    }
    private void executeOrder() {
        if ( == null || .isEmpty()) {
            return;
        }
        if ( == null) {
             = new HashMap<InspectorOrderingControllerList<InspectorFolder>>();
        } else {
            .clear();
        }
        if ( == null) {
             = new TreeMap<IntegerList<InspectorFolder>>();
        } else {
            .clear();
        }
        if ( == null) {
             = new ArrayList<InspectorFolderWrapper>();
        } else {
            .clear();
        }
        if ( == null) {
             = new DefaultOrderingController(.new TypeID(.."Default")); //NOI18N
        }
        // sorting of descriptors based on TypeID
        for (InspectorFolder fd : ) {
            boolean isWrite = false;
            if (this.getFolder().getOrderingControllers() != null) {
                for (InspectorOrderingController orderingController : this.getFolder().getOrderingControllers()) {
                    if (orderingController.isTypeIDSupported(.get(), fd.getTypeID()) && .get(orderingController) == null) {
                        .put(orderingControllernew ArrayList<InspectorFolder>(Arrays.asList(fd)));
                        isWrite = true;
                    } else if (orderingController.isTypeIDSupported(.get(), fd.getTypeID()) && .get(orderingController) != null) {
                        .get(orderingController).add(fd);
                        isWrite = true;
                    }
                }
                if (!isWrite && .get() == null) {
                    .put(new ArrayList<InspectorFolder>(Arrays.asList(fd)));
                } else if (!isWrite) {
                    .get().add(fd);
                }
            } else {
                if (.get() == null) {
                    .put(new ArrayList<InspectorFolder>(Arrays.asList(fd)));
                } else {
                    .get().add(fd);
                }
            }
        }
        for (InspectorOrderingController oc : .keySet()) {
            List<InspectorFoldersortedList;
            if ( != null) {
                sortedList = oc.getOrdered(.get(), Collections.unmodifiableList(.get(oc)));
            } else {
                sortedList = oc.getOrdered(null, Collections.unmodifiableList(.get(oc)));
            }
            if (sortedList == null) {
                throw new IllegalArgumentException("List returned from InspectorOrderingController is null, controller:" + oc); //NOI18N
            }
            //if (sortedList.size() != ocMap.get(oc).size() || (! ocMap.get(oc).containsAll(sortedList)))
            //    Debug.warning("Elements passed to sort in component: "+ component + " are diffrent from elements returned from FolderOrderingController :" + oc.getClass()); //NOI18N
            if (oc.getOrder() != null && .get(oc.getOrder()) == null) {
                .put(oc.getOrder(), sortedList);
            } else if (oc.getOrder() != null && .get(oc.getOrder()) != null) {
                .get(oc.getOrder()).addAll(sortedList);
            }
        }
        .clear();
        for (List<InspectorFolderfdList : .values()) {
            .addAll(fdList);
        }
        for (InspectorFolder fd : ) {
            for (InspectorFolderWrapper wrapper : ) {
                if (wrapper.getFolder() == fd && fd.getComponentID().equals(wrapper.getFolder().getComponentID())) {
                    .add(wrapper);
                }
            }
        }
    }
    void terminate() {
         = null;
        if ( != null) {
            .terminate();
            try {
                .destroy();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
         = null;
         = null;
         = null;
         = null;
         = null;
         = null;
         = null;
         = null;
         = null;
        if ( == null) {
            return;
        }
        for (InspectorFolderWrapper wrapper : ) {
            wrapper.terminate();
        }
         = null;
    }
    @Override
    public String toString() {
        StringBuffer buffer = new StringBuffer().append("[ "// NOI18N
                .append(.getDisplayName()).append(" ] TYPE : "// NOI18N
                .append(.getTypeID()).append(", ID : "//NOI18N
                .append(.getComponentID()).append(", Children : "// NOI18N
                .append( == null ? 0 : .size()).append(" " + super.toString());
        return buffer.toString();
    }
New to GrepCode? Check out our FAQ X