hotspot/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/actions/StructuredViewAction.java
author never
Tue, 24 Jun 2008 16:00:14 -0700
changeset 768 d0bebc7eefc2
child 5547 f4b087cbb361
permissions -rw-r--r--
6718676: putback for 6604014 is incomplete Reviewed-by: kvn, jrose
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
768
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
     1
/*
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
     2
 * Copyright 1998-2007 Sun Microsystems, Inc.  All Rights Reserved.
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
     4
 *
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
     7
 * published by the Free Software Foundation.  Sun designates this
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
     8
 * particular file as subject to the "Classpath" exception as provided
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
     9
 * by Sun in the LICENSE file that accompanied this code.
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    10
 *
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    11
 * This code is distributed in the hope that it will be useful, but WITHOUT
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    13
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    14
 * version 2 for more details (a copy is included in the LICENSE file that
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    15
 * accompanied this code).
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    16
 *
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    17
 * You should have received a copy of the GNU General Public License version
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    18
 * 2 along with this work; if not, write to the Free Software Foundation,
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    19
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    20
 *
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    21
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    22
 * CA 95054 USA or visit www.sun.com if you need additional information or
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    23
 * have any questions.
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    24
 */
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    25
package com.sun.hotspot.igv.coordinator.actions;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    26
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    27
import com.sun.hotspot.igv.coordinator.OutlineTopComponent;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    28
import com.sun.hotspot.igv.data.services.GroupOrganizer;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    29
import java.awt.Component;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    30
import java.awt.Image;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    31
import java.awt.event.ActionEvent;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    32
import java.awt.event.ActionListener;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    33
import java.awt.event.ItemEvent;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    34
import java.awt.event.ItemListener;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    35
import java.awt.image.BufferedImage;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    36
import java.util.ArrayList;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    37
import java.util.Collection;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    38
import java.util.Collections;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    39
import java.util.Comparator;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    40
import java.util.HashMap;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    41
import java.util.List;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    42
import java.util.Map;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    43
import javax.swing.Action;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    44
import javax.swing.ButtonGroup;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    45
import javax.swing.ImageIcon;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    46
import javax.swing.JButton;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    47
import javax.swing.JCheckBoxMenuItem;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    48
import javax.swing.JMenuItem;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    49
import javax.swing.JPopupMenu;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    50
import javax.swing.event.PopupMenuEvent;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    51
import javax.swing.event.PopupMenuListener;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    52
import org.openide.awt.DropDownButtonFactory;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    53
import org.openide.util.HelpCtx;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    54
import org.openide.util.Lookup;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    55
import org.openide.util.Utilities;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    56
import org.openide.util.actions.CallableSystemAction;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    57
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    58
public class StructuredViewAction extends CallableSystemAction {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    59
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    60
    private static JButton dropDownButton;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    61
    private static ButtonGroup buttonGroup;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    62
    private static JPopupMenu popup;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    63
    private MyMenuItemListener menuItemListener;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    64
    private Map<JMenuItem, GroupOrganizer> map;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    65
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    66
    public StructuredViewAction() {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    67
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    68
        putValue(Action.SHORT_DESCRIPTION, "Cluster nodes into blocks");
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    69
    }
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    70
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    71
    @Override
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    72
    public Component getToolbarPresenter() {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    73
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    74
        Image iconImage = Utilities.loadImage("com/sun/hotspot/igv/coordinator/images/structure.gif");
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    75
        ImageIcon icon = new ImageIcon(iconImage);
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    76
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    77
        popup = new JPopupMenu();
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    78
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    79
        menuItemListener = new MyMenuItemListener();
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    80
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    81
        buttonGroup = new ButtonGroup();
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    82
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    83
        Collection<? extends GroupOrganizer> organizersCollection = Lookup.getDefault().lookupAll(GroupOrganizer.class);
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    84
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    85
        List<GroupOrganizer> organizers = new ArrayList<GroupOrganizer>(organizersCollection);
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    86
        Collections.sort(organizers, new Comparator<GroupOrganizer>() {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    87
            public int compare(GroupOrganizer a, GroupOrganizer b) {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    88
                return a.getName().compareTo(b.getName());
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    89
            }
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    90
        });
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    91
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    92
        map = new HashMap<JMenuItem, GroupOrganizer>();
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    93
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    94
        boolean first = true;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    95
        for(GroupOrganizer organizer : organizers) {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    96
            JCheckBoxMenuItem item = new JCheckBoxMenuItem(organizer.getName());
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    97
            map.put(item, organizer);
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    98
            item.addActionListener(menuItemListener);
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
    99
            buttonGroup.add(item);
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   100
            popup.add(item);
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   101
            if(first) {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   102
                item.setSelected(true);
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   103
                first = false;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   104
            }
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   105
        }
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   106
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   107
        dropDownButton = DropDownButtonFactory.createDropDownButton(
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   108
                new ImageIcon(
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   109
                new BufferedImage(32, 32, BufferedImage.TYPE_BYTE_GRAY)),
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   110
                popup);
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   111
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   112
        dropDownButton.setIcon(icon);
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   113
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   114
        dropDownButton.setToolTipText("Insert Layer Registration");
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   115
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   116
        dropDownButton.addItemListener(new ItemListener() {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   117
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   118
            public void itemStateChanged(ItemEvent e) {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   119
                int state = e.getStateChange();
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   120
                if (state == ItemEvent.SELECTED) {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   121
                    performAction();
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   122
                }
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   123
            }
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   124
        });
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   125
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   126
        dropDownButton.addActionListener(new ActionListener() {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   127
            public void actionPerformed(ActionEvent e) {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   128
                performAction();
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   129
            }
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   130
        });
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   131
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   132
        popup.addPopupMenuListener(new PopupMenuListener() {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   133
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   134
            public void popupMenuCanceled(PopupMenuEvent e) {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   135
                dropDownButton.setSelected(false);
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   136
            }
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   137
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   138
            public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   139
                dropDownButton.setSelected(false);
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   140
            }
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   141
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   142
            public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   143
                dropDownButton.setSelected(true);
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   144
            }
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   145
        });
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   146
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   147
        return dropDownButton;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   148
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   149
    }
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   150
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   151
    private class MyMenuItemListener implements ActionListener {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   152
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   153
        public void actionPerformed(ActionEvent ev) {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   154
            JMenuItem item = (JMenuItem) ev.getSource();
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   155
            GroupOrganizer organizer = map.get(item);
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   156
            assert organizer != null : "Organizer must exist!";
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   157
            OutlineTopComponent.findInstance().setOrganizer(organizer);
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   158
        }
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   159
    }
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   160
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   161
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   162
    @Override
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   163
    public void performAction() {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   164
        popup.show(dropDownButton, 0, dropDownButton.getHeight());
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   165
    }
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   166
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   167
    public String getName() {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   168
        return "Structured View";
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   169
    }
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   170
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   171
    public HelpCtx getHelpCtx() {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   172
        return HelpCtx.DEFAULT_HELP;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   173
    }
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   174
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   175
    @Override
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   176
    protected boolean asynchronous() {
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   177
        return false;
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   178
    }
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   179
d0bebc7eefc2 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
   180
}