1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.mina.integration.beans;
21
22 import java.beans.PropertyEditor;
23 import java.net.InetAddress;
24 import java.net.UnknownHostException;
25
26
27
28
29
30
31
32
33
34
35
36
37 public class InetAddressEditor extends AbstractPropertyEditor {
38 @Override
39 protected String toText(Object value) {
40 String hostname = ((InetAddress) value).getHostAddress();
41 if (hostname.equals("0:0:0:0:0:0:0:0") || hostname.equals("0.0.0.0") ||
42 hostname.equals("00:00:00:00:00:00:00:00")) {
43 hostname = "*";
44 }
45 return hostname;
46 }
47
48 @Override
49 protected Object toValue(String text) throws IllegalArgumentException {
50 if (text.length() == 0 || text.equals("*")) {
51 return defaultValue();
52 }
53
54 try {
55 return InetAddress.getByName(text);
56 } catch (UnknownHostException uhe) {
57 IllegalArgumentException iae = new IllegalArgumentException();
58 iae.initCause(uhe);
59 throw iae;
60 }
61 }
62
63 @Override
64 protected String defaultText() {
65 return "*";
66 }
67
68 @Override
69 protected Object defaultValue() {
70 try {
71 return InetAddress.getByName("0.0.0.0");
72 } catch (UnknownHostException e) {
73 throw new InternalError();
74 }
75 }
76 }