Refactored ResultSetMapper to be an interface, old classes that used to extend it should now extend AbstractResultSetMapper
This commit is contained in:
parent
6291eac434
commit
39338e999f
@ -0,0 +1,34 @@
|
||||
/*
|
||||
* 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
|
||||
*
|
||||
* http://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.
|
||||
*
|
||||
* $Header:$
|
||||
*/
|
||||
package org.apache.beehive.controls.system.jdbc;
|
||||
|
||||
/**
|
||||
* Extend this class to create new ResultSet mappers. The extended class will be invoked by the JdbcController
|
||||
* when it is time to map a ResultSet to a method's return type.
|
||||
*
|
||||
* ResultSet mappers are specified on a per method basis using the SQL annotation's resultSetMapper field.
|
||||
*/
|
||||
public abstract class AbstractResultSetMapper implements ResultSetMapper {
|
||||
|
||||
/**
|
||||
* Can the ResultSet which this mapper uses be closed by the Jdbc control?
|
||||
* @return true if the ResultSet can be closed by the JdbcControl
|
||||
*/
|
||||
public boolean canCloseResultSet() { return true; }
|
||||
}
|
@ -29,7 +29,7 @@ import java.util.Iterator;
|
||||
/**
|
||||
* Default ResultSetMapper implementation for Iterators.
|
||||
*/
|
||||
public class DefaultIteratorResultSetMapper extends ResultSetMapper {
|
||||
public class DefaultIteratorResultSetMapper extends AbstractResultSetMapper {
|
||||
|
||||
/**
|
||||
* Map a ResultSet to an object type
|
||||
|
@ -34,7 +34,7 @@ import java.util.Calendar;
|
||||
/**
|
||||
* Default ResultSetMapper implementation for Objects.
|
||||
*/
|
||||
public class DefaultObjectResultSetMapper extends ResultSetMapper {
|
||||
public class DefaultObjectResultSetMapper extends AbstractResultSetMapper {
|
||||
|
||||
/**
|
||||
* static reference to the TypeMappingsFactory for this class
|
||||
|
@ -28,7 +28,7 @@ import java.util.Calendar;
|
||||
/**
|
||||
* Default ResultSetMapper implementation for ResultSets.
|
||||
*/
|
||||
public class DefaultResultSetMapper extends ResultSetMapper {
|
||||
public class DefaultResultSetMapper extends AbstractResultSetMapper {
|
||||
|
||||
/**
|
||||
* Maps a ResultSet to a ResultSet. The default implementation is a NOOP.
|
||||
|
@ -33,7 +33,7 @@ import java.util.Calendar;
|
||||
/**
|
||||
* Default ResultSetMapper implementation for RowSets.
|
||||
*/
|
||||
public class DefaultRowSetResultSetMapper extends ResultSetMapper {
|
||||
public class DefaultRowSetResultSetMapper extends AbstractResultSetMapper {
|
||||
|
||||
/**
|
||||
* Map a ResultSet to a RowSet. Type of RowSet is defined by the SQL annotation for the method.
|
||||
|
@ -30,22 +30,22 @@ import java.util.Calendar;
|
||||
*
|
||||
* ResultSet mappers are specified on a per method basis using the SQL annotation's resultSetMapper field.
|
||||
*/
|
||||
public abstract class ResultSetMapper {
|
||||
public interface ResultSetMapper {
|
||||
|
||||
/**
|
||||
* Map a ResultSet to an object type
|
||||
*
|
||||
* @param context A ControlBeanContext instance, see Beehive controls javadoc for additional information
|
||||
* @param m Method assoicated with this call.
|
||||
* @param resultSet Result set to map.
|
||||
* @param cal A Calendar instance for time/date value resolution.
|
||||
* @return The Object resulting from the ResultSet
|
||||
*/
|
||||
public abstract Object mapToResultType(ControlBeanContext context, Method m, ResultSet resultSet, Calendar cal);
|
||||
/**
|
||||
* Map a ResultSet to an object type
|
||||
*
|
||||
* @param context A ControlBeanContext instance, see Beehive controls javadoc for additional information
|
||||
* @param m Method assoicated with this call.
|
||||
* @param resultSet Result set to map.
|
||||
* @param cal A Calendar instance for time/date value resolution.
|
||||
* @return The Object resulting from the ResultSet
|
||||
*/
|
||||
public Object mapToResultType(ControlBeanContext context, Method m, ResultSet resultSet, Calendar cal);
|
||||
|
||||
/**
|
||||
* Can the ResultSet which this mapper uses be closed by the Jdbc control?
|
||||
* @return true if the ResultSet can be closed by the JdbcControl
|
||||
*/
|
||||
public boolean canCloseResultSet() { return true; }
|
||||
/**
|
||||
* Can the ResultSet which this mapper uses be closed by the Jdbc control?
|
||||
* @return true if the ResultSet can be closed by the JdbcControl
|
||||
*/
|
||||
public boolean canCloseResultSet();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user