Logo
Distributed Genetic Programming Framework
print print

File org.jfree.ui.LengthLimitingDocument.java

Here you can find all the information about the file org.jfree.ui.LengthLimitingDocument.java. You may explore it here or download it onto your local disk.
/* ========================================================================
 * JCommon : a free general purpose class library for the Java(tm) platform
 * ========================================================================
 *
 * (C) Copyright 2000-2005, by Object Refinery Limited and Contributors.
 * 
 * Project Info:  http://www.jfree.org/jcommon/index.html
 *
 * This library is free software; you can redistribute it and/or modify it 
 * under the terms of the GNU Lesser General Public License as published by 
 * the Free Software Foundation; either version 2.1 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 Lesser General Public 
 * License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
 * USA.  
 *
 * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 
 * in the United States and other countries.]
 * 
 * ---------------------------
 * LengthLimitingDocument.java
 * ---------------------------
 * (C)opyright 2003, 2004, by Thomas Morgner and Contributors.
 *
 * Original Author:  Thomas Morgner;
 * Contributor(s):   David Gilbert (for Object Refinery Limited);
 *
 * $Id: LengthLimitingDocument.java,v 1.3 2005/10/18 13:18:34 mungady Exp $
 *
 * Changes
 * -------
 * 22-Jan-2003 : Initial version
 * 05-Feb-2003 : Documentation
 * 
 */


package org.jfree.ui;

import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;

/**
 * This Document restricts the size of the contained plain text to the given number of
 * characters.
 *
 * @author Thomas Morgner
 */

public class LengthLimitingDocument extends PlainDocument {

    /** The maximum length. */
    private int maxlen;

    /**
     * Creates a new LengthLimitingDocument, with no limitation.
     */

    public LengthLimitingDocument() {
        this(-1);
    }

    /**
     * Creates a new LengthLimitingDocument with the given limitation. No more than
     * maxlen characters can be added to the document. If maxlen is negative, then
     * no length check is performed.
     *
     * @param maxlen the maximum number of elements in this document
     */

    public LengthLimitingDocument(final int maxlen) {
        super();
        this.maxlen = maxlen;
    }

    /**
     * Sets the maximum number of characters for this document. Existing characters
     * are not removed.
     *
     * @param maxlen the maximum number of characters in this document.
     */

    public void setMaxLength(final int maxlen) {
        this.maxlen = maxlen;
    }

    /**
     * Returns the defined maximum number characters for this document.
     * @return the maximum number of characters
     */

    public int getMaxLength() {
        return this.maxlen;
    }

    /**
     * Inserts the string into the document. If the length of the document would
     * violate the maximum characters restriction, then the string is cut down so
     * that
     * @param offs the offset, where the string should be inserted into the document
     * @param str the string that should be inserted
     * @param a the attribute set assigned for the document
     * @throws javax.swing.text.BadLocationException if the offset is not correct
     */

    public void insertString(final int offs, final String str, final AttributeSet a)
        throws BadLocationException {
        if (str == null) {
            return;
        }

        if (this.maxlen < 0) {
            super.insertString(offs, str, a);
        }

        final char[] numeric = str.toCharArray();
        final StringBuffer b = new StringBuffer();
        b.append(numeric, 0, Math.min(this.maxlen, numeric.length));
        super.insertString(offs, b.toString(), a);
    }
    
}

File Information:

file name:LengthLimitingDocument.java
package:org.jfree.ui
qualified name:org.jfree.ui.LengthLimitingDocument.java
file type:Java Source File
download location:download http://dgpf.sourceforge.net/source/org/jfree/ui/LengthLimitingDocument.java
size:4.129 KB (4229 B)
uploaded: 2015-07-22 04:11:09 GMT+0000
last update: 2006-09-26 10:30:34 GMT+0000
last access: 2018-01-23 15:21:34 GMT+0000

statistics online since 2006-01-02.   RSS Feed
Contact us by sending an email to tweise@gmx.de to receive further information, to report errors, or to join our project.
All content on this site (http://dgpf.sourceforge.net/) is LGPL-licensed.
http://dgpf.sourceforge.net/scripts/source/source.php last modified at 2015-07-22 04:10:53 GMT+0000 served at 2018-01-23 15:21:34 GMT+0000.
Valid CSS Valid XHTML 1.1
Valid RSS SourceForge.net Logo