01: /**********************************************************************************
02: * $URL: https://source.sakaiproject.org/svn/metaobj/tags/sakai_2-4-1/metaobj-util/tool-lib/src/java/org/sakaiproject/metaobj/shared/mgt/IdCustomEditor.java $
03: * $Id: IdCustomEditor.java 14230 2006-09-05 18:02:51Z chmaurer@iupui.edu $
04: ***********************************************************************************
05: *
06: * Copyright (c) 2004, 2005, 2006 The Sakai Foundation.
07: *
08: * Licensed under the Educational Community License, Version 1.0 (the "License");
09: * you may not use this file except in compliance with the License.
10: * You may obtain a copy of the License at
11: *
12: * http://www.opensource.org/licenses/ecl1.php
13: *
14: * Unless required by applicable law or agreed to in writing, software
15: * distributed under the License is distributed on an "AS IS" BASIS,
16: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17: * See the License for the specific language governing permissions and
18: * limitations under the License.
19: *
20: **********************************************************************************/package org.sakaiproject.metaobj.shared.mgt;
21:
22: import java.beans.PropertyEditorSupport;
23:
24: import org.sakaiproject.metaobj.shared.model.Id;
25: import org.sakaiproject.metaobj.utils.mvc.intf.TypedPropertyEditor;
26:
27: /**
28: * Created by IntelliJ IDEA.
29: * User: John Ellis
30: * Date: May 19, 2004
31: * Time: 2:23:28 PM
32: * To change this template use File | Settings | File Templates.
33: */
34: public class IdCustomEditor extends PropertyEditorSupport implements
35: TypedPropertyEditor {
36:
37: private IdManager idManager = null;
38:
39: /**
40: * Parse the Date from the given text, using the specified DateFormat.
41: */
42: public void setAsText(String text) throws IllegalArgumentException {
43: if (text == null || text.length() == 0) {
44: setValue(null);
45: } else {
46: setValue(getIdManager().getId(text));
47: }
48: }
49:
50: /**
51: * Format the Date as String, using the specified DateFormat.
52: */
53: public String getAsText() {
54: if (!(getValue() instanceof Id)) {
55: return null;
56: }
57: Id value = (Id) getValue();
58: return value.getValue();
59: }
60:
61: public IdManager getIdManager() {
62: return idManager;
63: }
64:
65: public void setIdManager(IdManager idManager) {
66: this .idManager = idManager;
67: }
68:
69: public Class getType() {
70: return Id.class;
71: }
72: }
|