View Javadoc
1   /*
2    * Copyright 2005 Philipp Erlacher
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5    * in compliance with the License. You may obtain a copy of the License at
6    *
7    * http://www.apache.org/licenses/LICENSE-2.0
8    *
9    * Unless required by applicable law or agreed to in writing, software distributed under the License
10   * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11   * or implied. See the License for the specific language governing permissions and limitations under
12   * the License.
13   */
14  package org.exolab.castor.xml.parsing.primitive.objects;
15  
16  import org.apache.commons.lang3.StringUtils;
17  
18  /**
19   * This class is part of the command pattern implementation to instantiate an object. It is used as
20   * a command by the command invoker PrimitiveObject.
21   * 
22   * @author <a href="mailto:philipp DOT erlacher AT gmail DOT com">Philipp Erlacher</a>
23   * 
24   */
25  class PrimitiveChar extends PrimitiveObject {
26  
27    @Override
28    public Object getObject(Class<?> type, String value) {
29      if (StringUtils.isNotEmpty(value)) {
30        return Character.valueOf(value.charAt(0));
31      }
32  
33      return Character.valueOf('\0');
34    }
35  
36  }