jdk/test/javax/swing/text/AbstractDocument/6968363/Test6968363.java
author malenkov
Wed, 28 Aug 2013 17:32:25 +0400
changeset 20103 f640c22218a3
child 28071 3acb75b8df45
permissions -rw-r--r--
6968363: ClassCastException while entering HINDI characters with CustomDocument Reviewed-by: alexsch
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
20103
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
     1
/*
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
     2
 * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
     4
 *
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
     7
 * published by the Free Software Foundation.
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
     8
 *
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    13
 * accompanied this code).
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    14
 *
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    18
 *
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    21
 * questions.
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    22
 */
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    23
import sun.awt.SunToolkit;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    24
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    25
import java.awt.Robot;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    26
import javax.swing.JFrame;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    27
import javax.swing.JLabel;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    28
import javax.swing.JTextField;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    29
import javax.swing.event.DocumentListener;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    30
import javax.swing.event.UndoableEditListener;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    31
import javax.swing.text.AttributeSet;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    32
import javax.swing.text.BadLocationException;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    33
import javax.swing.text.Document;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    34
import javax.swing.text.Element;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    35
import javax.swing.text.PlainDocument;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    36
import javax.swing.text.Position;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    37
import javax.swing.text.Segment;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    38
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    39
import static java.awt.BorderLayout.NORTH;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    40
import static java.awt.BorderLayout.SOUTH;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    41
import static java.awt.Toolkit.getDefaultToolkit;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    42
import static java.awt.event.KeyEvent.VK_LEFT;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    43
import static javax.swing.SwingUtilities.invokeAndWait;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    44
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    45
/*
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    46
 * @test
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    47
 * @bug 6968363
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    48
 * @summary Ensures that a custom document may not extend AbstractDocument
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    49
 * @author Sergey Malenkov
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    50
 */
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    51
public class Test6968363 implements Runnable, Thread.UncaughtExceptionHandler {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    52
    private JFrame frame;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    53
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    54
    public static void main(String[] args) throws Exception {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    55
        SunToolkit toolkit = (SunToolkit) getDefaultToolkit();
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    56
        Runnable task = new Test6968363();
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    57
        invokeAndWait(task);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    58
        toolkit.realSync(100);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    59
        new Robot().keyPress(VK_LEFT);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    60
        toolkit.realSync(100);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    61
        invokeAndWait(task);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    62
    }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    63
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    64
    @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    65
    public void uncaughtException(Thread thread, Throwable throwable) {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    66
        throwable.printStackTrace();
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    67
        System.exit(1);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    68
    }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    69
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    70
    @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    71
    public void run() {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    72
        if (this.frame == null) {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    73
            Thread.setDefaultUncaughtExceptionHandler(this);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    74
            this.frame = new JFrame(getClass().getSimpleName());
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    75
            this.frame.add(NORTH, new JLabel("Copy Paste a HINDI text into the field below"));
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    76
            this.frame.add(SOUTH, new JTextField(new MyDocument(), "\u0938", 10));
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    77
            this.frame.pack();
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    78
            this.frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    79
            this.frame.setLocationRelativeTo(null);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    80
            this.frame.setVisible(true);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    81
        } else {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    82
            this.frame.dispose();
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    83
            this.frame = null;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    84
        }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    85
    }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    86
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    87
    private static class MyDocument implements Document {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    88
        private final Document document = new PlainDocument();
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    89
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    90
        @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    91
        public int getLength() {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    92
            return this.document.getLength();
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    93
        }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    94
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    95
        @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    96
        public void addDocumentListener(DocumentListener listener) {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    97
            this.document.addDocumentListener(listener);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    98
        }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
    99
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   100
        @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   101
        public void removeDocumentListener(DocumentListener listener) {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   102
            this.document.removeDocumentListener(listener);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   103
        }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   104
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   105
        @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   106
        public void addUndoableEditListener(UndoableEditListener listener) {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   107
            this.document.addUndoableEditListener(listener);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   108
        }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   109
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   110
        @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   111
        public void removeUndoableEditListener(UndoableEditListener listener) {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   112
            this.document.removeUndoableEditListener(listener);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   113
        }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   114
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   115
        @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   116
        public Object getProperty(Object key) {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   117
            return this.document.getProperty(key);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   118
        }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   119
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   120
        @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   121
        public void putProperty(Object key, Object value) {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   122
            this.document.putProperty(key, value);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   123
        }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   124
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   125
        @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   126
        public void remove(int offset, int length) throws BadLocationException {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   127
            this.document.remove(offset, length);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   128
        }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   129
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   130
        @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   131
        public void insertString(int offset, String string, AttributeSet set) throws BadLocationException {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   132
            for (int i = 0; i < string.length(); i++) {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   133
                System.out.println("i: " + i + "; ch: " + Integer.toHexString(string.charAt(i)));
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   134
            }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   135
            this.document.insertString(offset, string, set);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   136
        }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   137
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   138
        @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   139
        public String getText(int offset, int length) throws BadLocationException {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   140
            return this.document.getText(offset, length);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   141
        }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   142
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   143
        @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   144
        public void getText(int offset, int length, Segment segment) throws BadLocationException {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   145
            this.document.getText(offset, length, segment);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   146
        }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   147
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   148
        @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   149
        public Position getStartPosition() {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   150
            return this.document.getStartPosition();
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   151
        }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   152
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   153
        @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   154
        public Position getEndPosition() {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   155
            return this.document.getEndPosition();
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   156
        }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   157
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   158
        @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   159
        public Position createPosition(int offset) throws BadLocationException {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   160
            return this.document.createPosition(offset);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   161
        }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   162
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   163
        @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   164
        public Element[] getRootElements() {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   165
            Element[] elements = this.document.getRootElements();
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   166
            Element[] wrappers = new Element[elements.length];
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   167
            for (int i = 0; i < elements.length; i++) {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   168
                wrappers[i] = new MyElement(elements[i]);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   169
            }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   170
            return wrappers;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   171
        }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   172
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   173
        @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   174
        public Element getDefaultRootElement() {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   175
            return new MyElement(this.document.getDefaultRootElement());
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   176
        }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   177
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   178
        @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   179
        public void render(Runnable task) {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   180
            this.document.render(task);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   181
        }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   182
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   183
        private class MyElement implements Element {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   184
            private final Element element;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   185
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   186
            private MyElement(Element element) {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   187
                this.element = element;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   188
            }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   189
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   190
            @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   191
            public Document getDocument() {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   192
                return MyDocument.this;
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   193
            }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   194
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   195
            @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   196
            public Element getParentElement() {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   197
                return new MyElement(this.element.getParentElement());
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   198
            }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   199
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   200
            @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   201
            public String getName() {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   202
                return this.element.getName();
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   203
            }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   204
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   205
            @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   206
            public AttributeSet getAttributes() {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   207
                return this.element.getAttributes();
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   208
            }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   209
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   210
            @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   211
            public int getStartOffset() {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   212
                return this.element.getStartOffset();
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   213
            }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   214
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   215
            @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   216
            public int getEndOffset() {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   217
                return this.element.getEndOffset();
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   218
            }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   219
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   220
            @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   221
            public int getElementIndex(int offset) {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   222
                return this.element.getElementIndex(offset);
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   223
            }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   224
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   225
            @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   226
            public int getElementCount() {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   227
                return this.element.getElementCount();
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   228
            }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   229
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   230
            @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   231
            public Element getElement(int index) {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   232
                return new MyElement(this.element.getElement(index));
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   233
            }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   234
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   235
            @Override
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   236
            public boolean isLeaf() {
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   237
                return this.element.isLeaf();
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   238
            }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   239
        }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   240
    }
f640c22218a3 6968363: ClassCastException while entering HINDI characters with CustomDocument
malenkov
parents:
diff changeset
   241
}