Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*  d6 Lightweight O/R mapper for java with ease of use 
   *
   *  Copyright (c) 2006- Tom Misawa, riversun.org@gmail.com
   *  
   *  Permission is hereby granted, free of charge, to any person obtaining a
   *  copy of this software and associated documentation files (the "Software"),
   *  to deal in the Software without restriction, including without limitation
   *  the rights to use, copy, modify, merge, publish, distribute, sublicense,
   *  and/or sell copies of the Software, and to permit persons to whom the
  *  Software is furnished to do so, subject to the following conditions:
  *  
  *  The above copyright notice and this permission notice shall be included in
  *  all copies or substantial portions of the Software.
  *  
  *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  *  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  *  DEALINGS IN THE SOFTWARE.
  *  
  */
 package org.riversun.d6.core;
 
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
Base class with common method for CRUD helper

Author(s):
Tom Misawa (riversun.org@gmail.com)
 
 public abstract class D6CrudHelperBase {
 
     final Class<?> mModelClazz;
 
     public D6CrudHelperBase(Class<? extends D6ModelmodelClazz) {
         this. = modelClazz;
 
     }

    
Returns Field info by columnName

Parameters:
columnName
Returns:
 
     final D6ModelClassFieldInfo getFieldInfo(String columnName) {
         final D6ModelClassFieldInfo fieldInfo = .get(columnName);
         return fieldInfo;
     }

    
Returns Set of columName of model class

Returns:
 
     final Set<StringgetAllColumnNames() {
         final Set<StringcolumnNameSet = .keySet();
 
         // Returns clone of columnNameSet because {@see D6Inex} directly
         // manipulats(almost delete) columnNameSet,so it effects
         // mColumnNameFieldInfoMap.
         // So, prevent original columnNameSet from getting edit.
         return new LinkedHashSet<String>(columnNameSet);
     }

    
Returns Set of primary key column name of model class

Returns:
 
     final Set<StringgetPrimaryColumnNames() {
         final List<DBColumnprimaryKeyColumnList = getPrimaryKeyColumnList();
         final Set<StringprimaryKeyColumnNameSet = new LinkedHashSet<String>();
         for (DBColumn col : primaryKeyColumnList) {
 
             primaryKeyColumnNameSet.add(col.columnName());
         }
         return primaryKeyColumnNameSet;
     }

    
Set value to preparedstatement with appropriate cast

Parameters:
parameterIndex
preparedStatement
fieldType
fieldValue
Throws:
java.lang.Exception
    void setValue(int parameterIndexPreparedStatement preparedStatementClass<?> fieldTypeObject fieldValuethrows Exception {
        try {
            if (fieldType == String.class) {
                preparedStatement.setString(parameterIndex, (StringfieldValue);
            } else if (fieldType == java.sql.Timestamp.class) {
                preparedStatement.setTimestamp(parameterIndex, (java.sql.TimestampfieldValue);
            } else if (fieldType == java.sql.Date.class) {
                preparedStatement.setDate(parameterIndex, (java.sql.DatefieldValue);
            } else if (fieldType == java.sql.Time.class) {
                preparedStatement.setTime(parameterIndex, (java.sql.TimefieldValue);
            } else if (fieldType == boolean.class || fieldType == Boolean.class) {
                if (fieldValue != null) {
                    boolean boolValue = (boolean) (BooleanfieldValue;
                    preparedStatement.setInt(parameterIndex, (boolValue ? 1 : 0));
                } else {
                    preparedStatement.setInt(parameterIndex, 0);
                }
            } else if (fieldType == int.class || fieldType == Integer.class) {
                if (fieldValue != null) {
                    preparedStatement.setInt(parameterIndex, (int) (IntegerfieldValue);
                } else {
                    preparedStatement.setNull(parameterIndex...);
                }
            } else {
                final String msg = "Unknown data type. type=" + fieldType + " value=" + fieldValue;
                loge(msg);
                throw new RuntimeException(msg);
            }
        } catch (Exception e) {
            loge("#setValue"e);
            throw e;
        }
    }

    
get primary key field of model class

Returns:
    final List<FieldgetPrimaryKeyFieldList() {
        final List<FieldfieldList = new ArrayList<Field>();
        final Set<StringcolumnNameSet = getAllColumnNames();
        for (String columnName : columnNameSet) {
            final D6ModelClassFieldInfo fieldInfo = getFieldInfo(columnName);
            final Field field = fieldInfo.field;
            final DBColumn dbColumn = field.getAnnotation(DBColumn.class);
            if (dbColumn.isPrimaryKey()) {
                fieldList.add(field);
            }
        }
        return fieldList;
    }

    
Returns DBColumn list of primary key

Returns:
        final List<DBColumnprimaryKeyColumnList = new ArrayList<DBColumn>();
        final Set<StringcolumnNameSet = getAllColumnNames();
        for (String columnName : columnNameSet) {
            final D6ModelClassFieldInfo fieldInfo = getFieldInfo(columnName);
            final Field field = fieldInfo.field;
            final DBColumn dbColumn = field.getAnnotation(DBColumn.class);
            if (dbColumn.isPrimaryKey()) {
                primaryKeyColumnList.add(dbColumn);
            }
        }
        return primaryKeyColumnList;
    }

    
log method for standard log

Parameters:
msg standard log message
    abstract void log(String msg);

    
log method for error log

Parameters:
msg error log message
e related exceptions
    abstract void loge(String msgException... e);
New to GrepCode? Check out our FAQ X