/usr/share/doc/libcommons-beanutils-java/api/src-html/org/apache/commons/beanutils/converters/CharacterConverter.html is in libcommons-beanutils-java-doc 1.9.2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title>Source code</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
</head>
<body>
<div class="sourceContainer">
<pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one or more<a name="line.2"></a>
<span class="sourceLineNo">003</span> * contributor license agreements. See the NOTICE file distributed with<a name="line.3"></a>
<span class="sourceLineNo">004</span> * this work for additional information regarding copyright ownership.<a name="line.4"></a>
<span class="sourceLineNo">005</span> * The ASF licenses this file to You under the Apache License, Version 2.0<a name="line.5"></a>
<span class="sourceLineNo">006</span> * (the "License"); you may not use this file except in compliance with<a name="line.6"></a>
<span class="sourceLineNo">007</span> * the License. You may obtain a copy of the License at<a name="line.7"></a>
<span class="sourceLineNo">008</span> *<a name="line.8"></a>
<span class="sourceLineNo">009</span> * http://www.apache.org/licenses/LICENSE-2.0<a name="line.9"></a>
<span class="sourceLineNo">010</span> *<a name="line.10"></a>
<span class="sourceLineNo">011</span> * Unless required by applicable law or agreed to in writing, software<a name="line.11"></a>
<span class="sourceLineNo">012</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.12"></a>
<span class="sourceLineNo">013</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.13"></a>
<span class="sourceLineNo">014</span> * See the License for the specific language governing permissions and<a name="line.14"></a>
<span class="sourceLineNo">015</span> * limitations under the License.<a name="line.15"></a>
<span class="sourceLineNo">016</span> */<a name="line.16"></a>
<span class="sourceLineNo">017</span>package org.apache.commons.beanutils.converters;<a name="line.17"></a>
<span class="sourceLineNo">018</span><a name="line.18"></a>
<span class="sourceLineNo">019</span><a name="line.19"></a>
<span class="sourceLineNo">020</span>/**<a name="line.20"></a>
<span class="sourceLineNo">021</span> * {@link org.apache.commons.beanutils.Converter} implementaion that handles conversion<a name="line.21"></a>
<span class="sourceLineNo">022</span> * to and from <b>java.lang.Character</b> objects.<a name="line.22"></a>
<span class="sourceLineNo">023</span> * <p><a name="line.23"></a>
<span class="sourceLineNo">024</span> * Can be configured to either return a <i>default value</i> or throw a<a name="line.24"></a>
<span class="sourceLineNo">025</span> * <code>ConversionException</code> if a conversion error occurs.<a name="line.25"></a>
<span class="sourceLineNo">026</span> *<a name="line.26"></a>
<span class="sourceLineNo">027</span> * @version $Id: CharacterConverter.java 1540518 2013-11-10 19:04:04Z oheger $<a name="line.27"></a>
<span class="sourceLineNo">028</span> * @since 1.3<a name="line.28"></a>
<span class="sourceLineNo">029</span> */<a name="line.29"></a>
<span class="sourceLineNo">030</span>public final class CharacterConverter extends AbstractConverter {<a name="line.30"></a>
<span class="sourceLineNo">031</span><a name="line.31"></a>
<span class="sourceLineNo">032</span> /**<a name="line.32"></a>
<span class="sourceLineNo">033</span> * Construct a <b>java.lang.Character</b> <i>Converter</i> that throws<a name="line.33"></a>
<span class="sourceLineNo">034</span> * a <code>ConversionException</code> if an error occurs.<a name="line.34"></a>
<span class="sourceLineNo">035</span> */<a name="line.35"></a>
<span class="sourceLineNo">036</span> public CharacterConverter() {<a name="line.36"></a>
<span class="sourceLineNo">037</span> super();<a name="line.37"></a>
<span class="sourceLineNo">038</span> }<a name="line.38"></a>
<span class="sourceLineNo">039</span><a name="line.39"></a>
<span class="sourceLineNo">040</span> /**<a name="line.40"></a>
<span class="sourceLineNo">041</span> * Construct a <b>java.lang.Character</b> <i>Converter</i> that returns<a name="line.41"></a>
<span class="sourceLineNo">042</span> * a default value if an error occurs.<a name="line.42"></a>
<span class="sourceLineNo">043</span> *<a name="line.43"></a>
<span class="sourceLineNo">044</span> * @param defaultValue The default value to be returned<a name="line.44"></a>
<span class="sourceLineNo">045</span> * if the value to be converted is missing or an error<a name="line.45"></a>
<span class="sourceLineNo">046</span> * occurs converting the value.<a name="line.46"></a>
<span class="sourceLineNo">047</span> */<a name="line.47"></a>
<span class="sourceLineNo">048</span> public CharacterConverter(Object defaultValue) {<a name="line.48"></a>
<span class="sourceLineNo">049</span> super(defaultValue);<a name="line.49"></a>
<span class="sourceLineNo">050</span> }<a name="line.50"></a>
<span class="sourceLineNo">051</span><a name="line.51"></a>
<span class="sourceLineNo">052</span> /**<a name="line.52"></a>
<span class="sourceLineNo">053</span> * Return the default type this <code>Converter</code> handles.<a name="line.53"></a>
<span class="sourceLineNo">054</span> *<a name="line.54"></a>
<span class="sourceLineNo">055</span> * @return The default type this <code>Converter</code> handles.<a name="line.55"></a>
<span class="sourceLineNo">056</span> * @since 1.8.0<a name="line.56"></a>
<span class="sourceLineNo">057</span> */<a name="line.57"></a>
<span class="sourceLineNo">058</span> @Override<a name="line.58"></a>
<span class="sourceLineNo">059</span> protected Class<?> getDefaultType() {<a name="line.59"></a>
<span class="sourceLineNo">060</span> return Character.class;<a name="line.60"></a>
<span class="sourceLineNo">061</span> }<a name="line.61"></a>
<span class="sourceLineNo">062</span><a name="line.62"></a>
<span class="sourceLineNo">063</span> /**<a name="line.63"></a>
<span class="sourceLineNo">064</span> * <p>Convert a java.lang.Class or object into a String.</p><a name="line.64"></a>
<span class="sourceLineNo">065</span> *<a name="line.65"></a>
<span class="sourceLineNo">066</span> * @param value The input value to be converted<a name="line.66"></a>
<span class="sourceLineNo">067</span> * @return the converted String value.<a name="line.67"></a>
<span class="sourceLineNo">068</span> * @since 1.8.0<a name="line.68"></a>
<span class="sourceLineNo">069</span> */<a name="line.69"></a>
<span class="sourceLineNo">070</span> @Override<a name="line.70"></a>
<span class="sourceLineNo">071</span> protected String convertToString(Object value) {<a name="line.71"></a>
<span class="sourceLineNo">072</span> String strValue = value.toString();<a name="line.72"></a>
<span class="sourceLineNo">073</span> return strValue.length() == 0 ? "" : strValue.substring(0, 1);<a name="line.73"></a>
<span class="sourceLineNo">074</span> }<a name="line.74"></a>
<span class="sourceLineNo">075</span><a name="line.75"></a>
<span class="sourceLineNo">076</span> /**<a name="line.76"></a>
<span class="sourceLineNo">077</span> * <p>Convert the input object into a java.lang.Character.</p><a name="line.77"></a>
<span class="sourceLineNo">078</span> *<a name="line.78"></a>
<span class="sourceLineNo">079</span> * @param <T> Target type of the conversion.<a name="line.79"></a>
<span class="sourceLineNo">080</span> * @param type Data type to which this value should be converted.<a name="line.80"></a>
<span class="sourceLineNo">081</span> * @param value The input value to be converted.<a name="line.81"></a>
<span class="sourceLineNo">082</span> * @return The converted value.<a name="line.82"></a>
<span class="sourceLineNo">083</span> * @throws Exception if conversion cannot be performed successfully<a name="line.83"></a>
<span class="sourceLineNo">084</span> * @since 1.8.0<a name="line.84"></a>
<span class="sourceLineNo">085</span> */<a name="line.85"></a>
<span class="sourceLineNo">086</span> @Override<a name="line.86"></a>
<span class="sourceLineNo">087</span> protected <T> T convertToType(Class<T> type, Object value) throws Exception {<a name="line.87"></a>
<span class="sourceLineNo">088</span> if (Character.class.equals(type) || Character.TYPE.equals(type)) {<a name="line.88"></a>
<span class="sourceLineNo">089</span> return type.cast(new Character(value.toString().charAt(0)));<a name="line.89"></a>
<span class="sourceLineNo">090</span> }<a name="line.90"></a>
<span class="sourceLineNo">091</span><a name="line.91"></a>
<span class="sourceLineNo">092</span> throw conversionException(type, value);<a name="line.92"></a>
<span class="sourceLineNo">093</span> }<a name="line.93"></a>
<span class="sourceLineNo">094</span><a name="line.94"></a>
<span class="sourceLineNo">095</span>}<a name="line.95"></a>
</pre>
</div>
</body>
</html>
|