Package org.eclipse.core.databinding.conversion

Examples of org.eclipse.core.databinding.conversion.IConverter


  public void setValue(Object target, Object value) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException, SecurityException, NoSuchFieldException {
    if (value != null) {
      Class<?> fieldType = field.getType();
      Class<?> valueType = value.getClass();
      if (!ObjectUtil.isAssignableFrom(fieldType, value.getClass())) {
        IConverter converter = XWT.findConvertor(valueType, fieldType);
        if (converter != null) {
          value = converter.convert(value);
        } else {
          throw new XWTException("Converter " + valueType.getName() + "->" + fieldType.getName());
        }
      }
    }
View Full Code Here


      if (sourceToTarget.getUpdatePolicy() != UpdateValueStrategy.POLICY_NEVER) {
        if (sourceToTargetConvertor != null) {
          sourceToTarget.setConverter(sourceToTargetConvertor);
        } else if (!targetType.isAssignableFrom(sourceType)) {
          IConverter m2t = XWT.findConvertor(sourceType, targetType);
          if (m2t != null) {
            sourceToTarget.setConverter(m2t);
          }
        }
      }

      if (targetToSource.getUpdatePolicy() != UpdateValueStrategy.POLICY_NEVER) {
        if (targetToSourceConvertor != null) {
          targetToSource.setConverter(targetToSourceConvertor);
        } else if (!sourceType.isAssignableFrom(targetType)) {
          IConverter t2m = XWT.findConvertor(targetType, sourceType);
          if (t2m != null) {
            targetToSource.setConverter(t2m);
          }
        }
      }
View Full Code Here

    if (value == null) {
      super.doSetValue("");
    } else {
      Class<?> targetType = getTargetType();
      if (targetType != String.class) {
        IConverter converter = XWT.findConvertor(targetType, String.class);
        if (converter != null) {
          value = converter.convert(value);
        }
      }
      super.doSetValue(value);
    }
  }
View Full Code Here

  @Override
  protected Object doGetValue() {
    Object value = super.doGetValue();
    Class<?> targetType = getTargetType();
    if (targetType != value.getClass()) {
      IConverter converter = XWT.findConvertor(value.getClass(), targetType);
      if (converter != null) {
        value = converter.convert(value);
      }
    }
    return value;
  }
View Full Code Here

  @Override
  protected void doSetValue(Object value) {
    if (value != null) {
      Class<?> targetType = getTargetType();
      if (targetType != String.class) {
        IConverter converter = XWT.findConvertor(targetType, String.class);
        if (converter != null) {
          value = converter.convert(value);
        }
      }
      String[] items = getItems();
      for (int i = 0; i < items.length; i++) {
        if (items[i].equals(value)) {
View Full Code Here

      return null;
    }
    String selectedString = items[selected];
    Class<?> targetType = getTargetType();
    if (targetType != String.class) {
      IConverter converter = XWT.findConvertor(String.class, targetType);
      if (converter != null) {
        return converter.convert(value);
      }
    }
    return selectedString;
  }
View Full Code Here

  public static Object resolveValue(Object value, Class<?> targetType, Object defaultValue) {
    return resolveValue(value, value.getClass(), targetType, defaultValue);
  }

  public static Object resolveValue(Object value, Class<?> sourceType, Class<?> targetType, Object defaultValue) {
    IConverter converter = XWT.findConvertor(sourceType, targetType);
    if (converter != null) {
      return converter.convert(value);
    }
    return defaultValue;
  }
View Full Code Here

   */
  public Object convertFrom(Class<?> targetType, String string) {
    if (targetType == String.class) {
      return string;
    }
    IConverter converter = findConvertor(String.class, targetType);
    if (converter != null) {
      return converter.convert(string);
    }
    if (targetType == Object.class) {
      return string;
    }
    throw new XWTException("Converter is missing of type: "
View Full Code Here

      Class<?> currentValueType = currentValue.getClass();
      Class<?> valueType = value.getClass();
      Object normalizedValue = value;
      if (!currentValueType.isAssignableFrom(valueType) && !valueType.isAssignableFrom(currentValueType)) {
        IConverter converter = XWT.findConvertor(valueType, currentValueType);
        if (converter != null) {
          normalizedValue = converter.convert(normalizedValue);
        }
        else if (value != null && value.toString().trim().length() > 0){
          boolean found = false;
          // in case where the value is a boolean
          converter = XWT.findConvertor(valueType, Boolean.class);
          if (converter != null) {
            try {
              Object booleanValue = converter.convert(value);
              if (booleanValue != null) {
                converter = XWT.findConvertor(currentValueType, Boolean.class);
                if (converter != null) {
                  currentValue = converter.convert(currentValue);
                  normalizedValue = booleanValue;
                  found = true;
                }
              }
            } catch (RuntimeException e) {
            }
          }
          if (!found) {
            converter = XWT.findConvertor(valueType, Integer.class);
            if (converter != null) {
              try {
                Object booleanValue = converter.convert(value);
                if (booleanValue != null) {
                  converter = XWT.findConvertor(currentValueType, Integer.class);
                  if (converter != null) {
                    currentValue = converter.convert(currentValue);
                    normalizedValue = booleanValue;
                    found = true;
                  }
                }
              } catch (Exception e) {
              }
            }
          }
          if (!found) {
            converter = XWT.findConvertor(valueType, Double.class);
            if (converter != null) {
              try {
                Object booleanValue = converter.convert(value);
                if (booleanValue != null) {
                  converter = XWT.findConvertor(currentValueType, Double.class);
                  if (converter != null) {
                    currentValue = converter.convert(currentValue);
                    normalizedValue = booleanValue;
                    found = true;
                  }
                }
              } catch (Exception e) {
              }
            }
          }
          if (!found) {
            converter = XWT.findConvertor(valueType, String.class);
            if (converter != null) {
              try {
                Object booleanValue = converter.convert(value);
                if (booleanValue != null) {
                  converter = XWT.findConvertor(currentValueType, String.class);
                  if (converter != null) {
                    currentValue = converter.convert(currentValue);
                    normalizedValue = booleanValue;
                    found = true;
                  }
                }
              } catch (Exception e) {
View Full Code Here

  public IConverter findConvertor(Class<?> source, Class<?> target) {
    source = ObjectUtil.normalizedType(source);
    target = ObjectUtil.normalizedType(target);
    for (int i = cores.size() - 1; i >= 0; i--) {
      Core core = cores.get(i);
      IConverter converter = core.findConvertor(source, target);
      if (converter != null) {
        return converter;
      }
    }
    return null;
View Full Code Here

TOP

Related Classes of org.eclipse.core.databinding.conversion.IConverter

Copyright © 2018 www.massapicom. 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.