blob: 5f55084e2d6b89e86939e77d0a37967bf9253478 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.jdo.tck.util;
import javax.jdo.AttributeConverter;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/** AttributeConverter implementation mapping a Integer instance to a string. */
public class IntegerToStringConverter implements AttributeConverter<Integer, String> {
private static int nrOfConvertToDatastoreCalls = 0;
private static int nrOfConvertToAttributeCalls = 0;
private final Log logger = LogFactory.getFactory().getInstance("org.apache.jdo.tck");
/**
* Converts the given Integer attribute value to its string representation in the datastore.
*
* @param attributeValue the attribute value of type Integer to be converted
* @return the string representation of the Integer instance
*/
@Override
public String convertToDatastore(Integer attributeValue) {
nrOfConvertToDatastoreCalls++;
String datastoreValue = attributeValue != null ? attributeValue.toString() : null;
if (logger.isDebugEnabled()) {
logger.debug(
"IntegerToStringConverter.convertToDatastore "
+ "attributeValue="
+ attributeValue
+ " datastoreValue="
+ datastoreValue);
}
return datastoreValue;
}
/**
* Converts the given string datastore value to its representation as a persistent attribute of
* type Integer.
*
* @param datastoreValue the string value in the datastore
* @return the attribute value as Integer instance
*/
@Override
public Integer convertToAttribute(String datastoreValue) {
nrOfConvertToAttributeCalls++;
Integer attributeValue = datastoreValue != null ? Integer.valueOf(datastoreValue) : null;
if (logger.isDebugEnabled()) {
logger.debug(
"IntegerToStringConverter.convertToAttribute "
+ "datastoreValue="
+ datastoreValue
+ " attributeValue="
+ attributeValue);
}
return attributeValue;
}
/**
* Method returning the current number of convertToDatastore method calls.
*
* @return number of convertToDatastore method calls
*/
public static int getNrOfConvertToDatastoreCalls() {
return nrOfConvertToDatastoreCalls;
}
/**
* Method returning the current number of convertToAttribute method calls.
*
* @return number of convertToAttribute method calls
*/
public static int getNrOfConvertToAttributeCalls() {
return nrOfConvertToAttributeCalls;
}
}