KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > j2ee > ddloaders > multiview > TextItemEditorModel


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.j2ee.ddloaders.multiview;
21
22 import org.netbeans.modules.xml.multiview.ItemEditorHelper;
23 import org.netbeans.modules.xml.multiview.XmlMultiViewDataSynchronizer;
24
25 /**
26  * @author pfiala
27  */

28 public abstract class TextItemEditorModel extends ItemEditorHelper.ItemEditorModel {
29
30     XmlMultiViewDataSynchronizer synchronizer;
31     private boolean emptyAllowed;
32     private boolean emptyIsNull;
33     String JavaDoc origValue;
34
35     protected TextItemEditorModel(XmlMultiViewDataSynchronizer synchronizer, boolean emptyAllowed) {
36         this(synchronizer, emptyAllowed, false);
37
38     }
39     protected TextItemEditorModel(XmlMultiViewDataSynchronizer synchronizer, boolean emptyAllowed, boolean emptyIsNull) {
40         this.synchronizer = synchronizer;
41         this.emptyAllowed = emptyAllowed;
42         this.emptyIsNull = emptyIsNull;
43         origValue = getValue();
44     }
45
46     protected boolean validate(String JavaDoc value) {
47         return emptyAllowed ? true : value != null && value.length() > 0;
48     }
49
50     protected abstract void setValue(String JavaDoc value);
51
52     protected abstract String JavaDoc getValue();
53
54     public final boolean setItemValue(String JavaDoc value) {
55         if (emptyAllowed && emptyIsNull && value != null) {
56             while (value.length() > 0 && value.charAt(0) == ' ') {
57                 value = value.substring(1);
58             }
59             if (value.length() == 0) {
60                 value = null;
61             }
62         }
63         if (validate(value)) {
64             String JavaDoc currentValue = getValue();
65             if (!(value == currentValue || value != null && value.equals(currentValue))) {
66                 setValue(value);
67                 synchronizer.requestUpdateData();
68             }
69             return true;
70         } else {
71             return false;
72         }
73     }
74
75     public final String JavaDoc getItemValue() {
76         String JavaDoc value = getValue();
77         return value == null ? "" : value;
78     }
79
80     public void documentUpdated() {
81         setItemValue(getEditorText());
82     }
83 }
84
Popular Tags