2 * Copyright (C) 2010 Mathieu Baudier <mbaudier@argeo.org>
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package org
.argeo
.slc
.castor
.execution
;
19 import org
.argeo
.slc
.core
.execution
.PrimitiveAccessor
;
20 import org
.argeo
.slc
.core
.execution
.PrimitiveUtils
;
21 import org
.exolab
.castor
.mapping
.AbstractFieldHandler
;
23 public class PrimitiveFieldHandler
extends AbstractFieldHandler
{
26 public Object
getValue(Object object
) throws IllegalStateException
{
30 Object value
= ((PrimitiveAccessor
) object
).getValue();
31 return value
!= null ? value
.toString() : null;
35 public Object
newInstance(Object parent
, Object
[] args
)
36 throws IllegalStateException
{
41 public Object
newInstance(Object parent
) throws IllegalStateException
{
46 public void resetValue(Object object
) throws IllegalStateException
,
47 IllegalArgumentException
{
51 public void setValue(Object object
, Object value
)
52 throws IllegalStateException
, IllegalArgumentException
{
53 PrimitiveAccessor primitiveAccessor
= (PrimitiveAccessor
) object
;
54 String type
= primitiveAccessor
.getType();
55 String str
= value
.toString();
56 primitiveAccessor
.setValue(PrimitiveUtils
.convert(type
, str
));