Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2006-2008 the original author or authors.
   *
   * Licensed 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.
  */
 package org.springframework.batch.item.database.support;
 
 import static org.springframework.batch.support.DatabaseType.DB2;
 import static org.springframework.batch.support.DatabaseType.DB2ZOS;
 import static org.springframework.batch.support.DatabaseType.DERBY;
 import static org.springframework.batch.support.DatabaseType.H2;
 import static org.springframework.batch.support.DatabaseType.HSQL;
 import static org.springframework.batch.support.DatabaseType.MYSQL;
 import static org.springframework.batch.support.DatabaseType.ORACLE;
 import static org.springframework.batch.support.DatabaseType.POSTGRES;
 import static org.springframework.batch.support.DatabaseType.SQLSERVER;
 import static org.springframework.batch.support.DatabaseType.SYBASE;
 
 import java.util.List;
 
 
Default implementation of the DataFieldMaxValueIncrementerFactory interface. Valid database types are given by the org.springframework.batch.support.DatabaseType enum.

Author(s):
Lucas Ward
See also:
org.springframework.batch.support.DatabaseType
 
 
 	private DataSource dataSource;
 
 	private String incrementerColumnName = "ID";

Public setter for the column name (defaults to "ID") in the incrementer. Only used by some platforms (Derby, HSQL, MySQL, SQL Server and Sybase), and should be fine for use with Spring Batch meta data as long as the default batch schema hasn't been changed.

Parameters:
incrementerColumnName the primary key column name to set
 
 	public void setIncrementerColumnName(String incrementerColumnName) {
 		this. = incrementerColumnName;
 	}
 
 		this. = dataSource;
 	}
 
 	public DataFieldMaxValueIncrementer getIncrementer(String incrementerTypeString incrementerName) {
 		DatabaseType databaseType = DatabaseType.valueOf(incrementerType.toUpperCase());
 
 		if (databaseType == ) {
 			return new DB2SequenceMaxValueIncrementer(incrementerName);
 		}
 		else if (databaseType == ) {
 			return new DB2MainframeSequenceMaxValueIncrementer(incrementerName);
 		}
 		else if (databaseType == ) {
 			return new DerbyMaxValueIncrementer(incrementerName);
 		}
 		else if (databaseType == ) {
 			return new HsqlMaxValueIncrementer(incrementerName);
 		}
 		else if (databaseType == ) {
 			return new H2SequenceMaxValueIncrementer(incrementerName);
 		}
 		else if (databaseType == ) {
 			return new MySQLMaxValueIncrementer(incrementerName);
 		}
 		else if (databaseType == ) {
 			return new OracleSequenceMaxValueIncrementer(incrementerName);
 		}
		else if (databaseType == ) {
			return new PostgreSQLSequenceMaxValueIncrementer(incrementerName);
		}
		else if (databaseType == ) {
		}
		else if (databaseType == ) {
		}
		throw new IllegalArgumentException("databaseType argument was not on the approved list");
	}
	public boolean isSupportedIncrementerType(String incrementerType) {
		for (DatabaseType type : DatabaseType.values()) {
			if (type.name().equals(incrementerType.toUpperCase())) {
				return true;
			}
		}
		return false;
	}
		List<Stringtypes = new ArrayList<String>();
		for (DatabaseType type : DatabaseType.values()) {
			types.add(type.name());
		}
		return types.toArray(new String[types.size()]);
	}
New to GrepCode? Check out our FAQ X