Examples of TypeHandlerFactory


Examples of com.ibatis.sqlmap.engine.type.TypeHandlerFactory

        cacheModels = new HashMap();
        resultMaps = new HashMap();
        parameterMaps = new HashMap();

        sqlExecutor = new SqlExecutor();
        typeHandlerFactory = new TypeHandlerFactory();
        dataExchangeFactory = new DataExchangeFactory(typeHandlerFactory);

        DEBUG.P(0, this, "SqlMapExecutorDelegate()");
    }
View Full Code Here

Examples of com.ibatis.sqlmap.engine.type.TypeHandlerFactory

    public void initialize(Map properties) {
    }

    public Object[] getData(StatementScope statementScope, ParameterMap parameterMap, Object parameterObject) {
        TypeHandlerFactory typeHandlerFactory = getDataExchangeFactory().getTypeHandlerFactory();
        if (parameterObject == null) {
            return new Object[1];
        } else {
            if (typeHandlerFactory.hasTypeHandler(parameterObject.getClass())) {
                ParameterMapping[] mappings = parameterMap.getParameterMappings();
                Object[] data = new Object[mappings.length];
                for (int i = 0; i < mappings.length; i++) {
                    data[i] = parameterObject;
                }
View Full Code Here

Examples of org.g4studio.core.orm.xibatis.sqlmap.engine.type.TypeHandlerFactory

  }

  protected Object getNestedSelectMappingValue(StatementScope statementScope, ResultSet rs, ResultMapping mapping,
      Class targetType) throws SQLException {
    try {
      TypeHandlerFactory typeHandlerFactory = getDelegate().getTypeHandlerFactory();

      String statementName = mapping.getStatementName();
      SqlMapClientImpl client = (SqlMapClientImpl) statementScope.getSession().getSqlMapClient();

      MappedStatement mappedStatement = client.getMappedStatement(statementName);
      Class parameterType = mappedStatement.getParameterClass();
      Object parameterObject = null;

      if (parameterType == null) {
        parameterObject = prepareBeanParameterObject(statementScope, rs, mapping, parameterType);
      } else {
        if (typeHandlerFactory.hasTypeHandler(parameterType)) {
          parameterObject = preparePrimitiveParameterObject(rs, mapping, parameterType);
        } else if (DomTypeMarker.class.isAssignableFrom(parameterType)) {
          parameterObject = prepareDomParameterObject(rs, mapping);
        } else {
          parameterObject = prepareBeanParameterObject(statementScope, rs, mapping, parameterType);
        }
      }

      Object result = null;
      if (parameterObject != null) {

        Sql sql = mappedStatement.getSql();
        ResultMap resultMap = sql.getResultMap(statementScope, parameterObject);
        Class resultClass = resultMap.getResultClass();

        if (resultClass != null && !DomTypeMarker.class.isAssignableFrom(targetType)) {
          if (DomCollectionTypeMarker.class.isAssignableFrom(resultClass)) {
            targetType = DomCollectionTypeMarker.class;
          } else if (DomTypeMarker.class.isAssignableFrom(resultClass)) {
            targetType = DomTypeMarker.class;
          }
        }

        result = ResultLoader.loadResult(client, statementName, parameterObject, targetType);

        String nullValue = mapping.getNullValue();
        if (result == null && nullValue != null) {
          TypeHandler typeHandler = typeHandlerFactory.getTypeHandler(targetType);
          if (typeHandler != null) {
            result = typeHandler.valueOf(nullValue);
          }
        }
      }
View Full Code Here

Examples of org.g4studio.core.orm.xibatis.sqlmap.engine.type.TypeHandlerFactory

  }

  private Object preparePrimitiveParameterObject(ResultSet rs, ResultMapping mapping, Class parameterType)
      throws SQLException {
    Object parameterObject;
    TypeHandlerFactory typeHandlerFactory = getDelegate().getTypeHandlerFactory();
    TypeHandler th = typeHandlerFactory.getTypeHandler(parameterType);
    parameterObject = th.getResult(rs, mapping.getColumnName());
    return parameterObject;
  }
View Full Code Here

Examples of org.g4studio.core.orm.xibatis.sqlmap.engine.type.TypeHandlerFactory

      throw new RuntimeException("Error creating XML document.  Cause: " + e);
    }
  }

  private Object prepareDomParameterObject(ResultSet rs, ResultMapping mapping) throws SQLException {
    TypeHandlerFactory typeHandlerFactory = getDelegate().getTypeHandlerFactory();

    Document doc = newDocument("parameter");
    Probe probe = ProbeFactory.getProbe(doc);

    String complexName = mapping.getColumnName();

    TypeHandler stringTypeHandler = typeHandlerFactory.getTypeHandler(String.class);
    if (complexName.indexOf('=') > -1) {
      // old 1.x style multiple params
      StringTokenizer parser = new StringTokenizer(complexName, "{}=, ", false);
      while (parser.hasMoreTokens()) {
        String propName = parser.nextToken();
View Full Code Here

Examples of org.g4studio.core.orm.xibatis.sqlmap.engine.type.TypeHandlerFactory

    return doc;
  }

  private Object prepareBeanParameterObject(StatementScope statementScope, ResultSet rs, ResultMapping mapping,
      Class parameterType) throws InstantiationException, IllegalAccessException, SQLException {
    TypeHandlerFactory typeHandlerFactory = getDelegate().getTypeHandlerFactory();

    Object parameterObject;
    if (parameterType == null) {
      parameterObject = new HashMap();
    } else {
      parameterObject = ResultObjectFactoryUtil.createObjectThroughFactory(parameterType);
    }
    String complexName = mapping.getColumnName();

    if (complexName.indexOf('=') > -1 || complexName.indexOf(',') > -1) {
      StringTokenizer parser = new StringTokenizer(complexName, "{}=, ", false);
      while (parser.hasMoreTokens()) {
        String propName = parser.nextToken();
        String colName = parser.nextToken();
        Class propType = PROBE.getPropertyTypeForSetter(parameterObject, propName);
        TypeHandler propTypeHandler = typeHandlerFactory.getTypeHandler(propType);
        Object propValue = propTypeHandler.getResult(rs, colName);
        PROBE.setObject(parameterObject, propName, propValue);
      }
    } else {
      // single param
      TypeHandler propTypeHandler = typeHandlerFactory.getTypeHandler(parameterType);
      if (propTypeHandler == null) {
        propTypeHandler = typeHandlerFactory.getUnkownTypeHandler();
      }
      parameterObject = propTypeHandler.getResult(rs, complexName);
    }

    return parameterObject;
View Full Code Here

Examples of org.g4studio.core.orm.xibatis.sqlmap.engine.type.TypeHandlerFactory

  }

  public void newTypeHandler(Class javaType, String jdbcType, Object callback) {
    try {
      errorContext.setActivity("building a building custom type handler");
      TypeHandlerFactory typeHandlerFactory = client.getDelegate().getTypeHandlerFactory();
      TypeHandler typeHandler;
      if (callback instanceof TypeHandlerCallback) {
        typeHandler = new CustomTypeHandler((TypeHandlerCallback) callback);
      } else if (callback instanceof TypeHandler) {
        typeHandler = (TypeHandler) callback;
      } else {
        throw new RuntimeException("The object '" + callback
            + "' is not a valid implementation of TypeHandler or TypeHandlerCallback");
      }
      errorContext.setMoreInfo("Check the javaType attribute '" + javaType
          + "' (must be a classname) or the jdbcType '" + jdbcType + "' (must be a JDBC type name).");
      if (jdbcType != null && jdbcType.length() > 0) {
        typeHandlerFactory.register(javaType, jdbcType, typeHandler);
      } else {
        typeHandlerFactory.register(javaType, typeHandler);
      }
    } catch (Exception e) {
      throw new SqlMapException("Error registering occurred.  Cause: " + e, e);
    }
    errorContext.setMoreInfo(null);
View Full Code Here

Examples of org.g4studio.core.orm.xibatis.sqlmap.engine.type.TypeHandlerFactory

    cacheModels = new HashMap();
    resultMaps = new HashMap();
    parameterMaps = new HashMap();

    sqlExecutor = new SqlExecutor();
    typeHandlerFactory = new TypeHandlerFactory();
    dataExchangeFactory = new DataExchangeFactory(typeHandlerFactory);
  }
View Full Code Here

Examples of org.g4studio.core.orm.xibatis.sqlmap.engine.type.TypeHandlerFactory

  public void initialize(Map properties) {
  }

  public Object[] getData(StatementScope statementScope, ParameterMap parameterMap, Object parameterObject) {
    TypeHandlerFactory typeHandlerFactory = getDataExchangeFactory().getTypeHandlerFactory();
    if (parameterObject == null) {
      return new Object[1];
    } else {
      if (typeHandlerFactory.hasTypeHandler(parameterObject.getClass())) {
        ParameterMapping[] mappings = parameterMap.getParameterMappings();
        Object[] data = new Object[mappings.length];
        for (int i = 0; i < mappings.length; i++) {
          data[i] = parameterObject;
        }
View Full Code Here

Examples of org.g4studio.core.orm.xibatis.sqlmap.engine.type.TypeHandlerFactory

      }
    }
  }

  public Object setData(StatementScope statementScope, ResultMap resultMap, Object resultObject, Object[] values) {
    TypeHandlerFactory typeHandlerFactory = getDataExchangeFactory().getTypeHandlerFactory();
    if (typeHandlerFactory.hasTypeHandler(resultMap.getResultClass())) {
      return values[0];
    } else {
      Object object = resultObject;
      if (object == null) {
        try {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.