org.springframework.beans.PropertyValue.getName()方法的使用及代码示例

x33g5p2x  于2022-01-26 转载在 其他  
字(12.1k)|赞(0)|评价(0)|浏览(74)

本文整理了Java中org.springframework.beans.PropertyValue.getName()方法的一些代码示例,展示了PropertyValue.getName()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。PropertyValue.getName()方法的具体详情如下:
包路径:org.springframework.beans.PropertyValue
类名称:PropertyValue
方法名:getName

PropertyValue.getName介绍

[英]Return the name of the property.
[中]返回属性的名称。

代码示例

代码示例来源:origin: spring-projects/spring-framework

@Override
@Nullable
public PropertyValue getPropertyValue(String propertyName) {
  for (PropertyValue pv : this.propertyValueList) {
    if (pv.getName().equals(propertyName)) {
      return pv;
    }
  }
  return null;
}

代码示例来源:origin: org.springframework/spring-beans

@Override
@Nullable
public PropertyValue getPropertyValue(String propertyName) {
  for (PropertyValue pv : this.propertyValueList) {
    if (pv.getName().equals(propertyName)) {
      return pv;
    }
  }
  return null;
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Add a PropertyValue object, replacing any existing one for the
 * corresponding property or getting merged with it (if applicable).
 * @param pv the PropertyValue object to add
 * @return this in order to allow for adding multiple property values in a chain
 */
public MutablePropertyValues addPropertyValue(PropertyValue pv) {
  for (int i = 0; i < this.propertyValueList.size(); i++) {
    PropertyValue currentPv = this.propertyValueList.get(i);
    if (currentPv.getName().equals(pv.getName())) {
      pv = mergeIfRequired(pv, currentPv);
      setPropertyValueAt(pv, i);
      return this;
    }
  }
  this.propertyValueList.add(pv);
  return this;
}

代码示例来源:origin: spring-projects/spring-framework

@Override
public void setPropertyValue(PropertyValue pv) throws BeansException {
  setPropertyValue(pv.getName(), pv.getValue());
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Constructor that exposes a new value for an original value holder.
 * The original holder will be exposed as source of the new holder.
 * @param original the PropertyValue to link to (never {@code null})
 * @param newValue the new value to apply
 */
public PropertyValue(PropertyValue original, @Nullable Object newValue) {
  Assert.notNull(original, "Original must not be null");
  this.name = original.getName();
  this.value = newValue;
  this.optional = original.isOptional();
  this.conversionNecessary = original.conversionNecessary;
  this.resolvedTokens = original.resolvedTokens;
  setSource(original);
  copyAttributesFrom(original);
}

代码示例来源:origin: spring-projects/spring-framework

@Override
public PropertyValues changesSince(PropertyValues old) {
  MutablePropertyValues changes = new MutablePropertyValues();
  if (old == this) {
    return changes;
  }
  // for each property value in the new set
  for (PropertyValue newPv : this.propertyValueList) {
    // if there wasn't an old one, add it
    PropertyValue pvOld = old.getPropertyValue(newPv.getName());
    if (pvOld == null || !pvOld.equals(newPv)) {
      changes.addPropertyValue(newPv);
    }
  }
  return changes;
}

代码示例来源:origin: spring-projects/spring-framework

protected void visitPropertyValues(MutablePropertyValues pvs) {
  PropertyValue[] pvArray = pvs.getPropertyValues();
  for (PropertyValue pv : pvArray) {
    Object newVal = resolveValue(pv.getValue());
    if (!ObjectUtils.nullSafeEquals(newVal, pv.getValue())) {
      pvs.add(pv.getName(), newVal);
    }
  }
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Check the given property values for field defaults,
 * i.e. for fields that start with the field default prefix.
 * <p>The existence of a field defaults indicates that the specified
 * value should be used if the field is otherwise not present.
 * @param mpvs the property values to be bound (can be modified)
 * @see #getFieldDefaultPrefix
 */
protected void checkFieldDefaults(MutablePropertyValues mpvs) {
  String fieldDefaultPrefix = getFieldDefaultPrefix();
  if (fieldDefaultPrefix != null) {
    PropertyValue[] pvArray = mpvs.getPropertyValues();
    for (PropertyValue pv : pvArray) {
      if (pv.getName().startsWith(fieldDefaultPrefix)) {
        String field = pv.getName().substring(fieldDefaultPrefix.length());
        if (getPropertyAccessor().isWritableProperty(field) && !mpvs.contains(field)) {
          mpvs.add(field, pv.getValue());
        }
        mpvs.removePropertyValue(pv);
      }
    }
  }
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Copy constructor.
 * @param original the PropertyValue to copy (never {@code null})
 */
public PropertyValue(PropertyValue original) {
  Assert.notNull(original, "Original must not be null");
  this.name = original.getName();
  this.value = original.getValue();
  this.optional = original.isOptional();
  this.converted = original.converted;
  this.convertedValue = original.convertedValue;
  this.conversionNecessary = original.conversionNecessary;
  this.resolvedTokens = original.resolvedTokens;
  setSource(original.getSource());
  copyAttributesFrom(original);
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Check the given property values against the allowed fields,
 * removing values for fields that are not allowed.
 * @param mpvs the property values to be bound (can be modified)
 * @see #getAllowedFields
 * @see #isAllowed(String)
 */
protected void checkAllowedFields(MutablePropertyValues mpvs) {
  PropertyValue[] pvs = mpvs.getPropertyValues();
  for (PropertyValue pv : pvs) {
    String field = PropertyAccessorUtils.canonicalPropertyName(pv.getName());
    if (!isAllowed(field)) {
      mpvs.removePropertyValue(pv);
      getBindingResult().recordSuppressedField(field);
      if (logger.isDebugEnabled()) {
        logger.debug("Field [" + field + "] has been removed from PropertyValues " +
            "and will not be bound, because it has not been found in the list of allowed fields");
      }
    }
  }
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Check the given property values for field markers,
 * i.e. for fields that start with the field marker prefix.
 * <p>The existence of a field marker indicates that the specified
 * field existed in the form. If the property values do not contain
 * a corresponding field value, the field will be considered as empty
 * and will be reset appropriately.
 * @param mpvs the property values to be bound (can be modified)
 * @see #getFieldMarkerPrefix
 * @see #getEmptyValue(String, Class)
 */
protected void checkFieldMarkers(MutablePropertyValues mpvs) {
  String fieldMarkerPrefix = getFieldMarkerPrefix();
  if (fieldMarkerPrefix != null) {
    PropertyValue[] pvArray = mpvs.getPropertyValues();
    for (PropertyValue pv : pvArray) {
      if (pv.getName().startsWith(fieldMarkerPrefix)) {
        String field = pv.getName().substring(fieldMarkerPrefix.length());
        if (getPropertyAccessor().isWritableProperty(field) && !mpvs.contains(field)) {
          Class<?> fieldType = getPropertyAccessor().getPropertyType(field);
          mpvs.add(field, getEmptyValue(field, fieldType));
        }
        mpvs.removePropertyValue(pv);
      }
    }
  }
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Merges the value of the supplied 'new' {@link PropertyValue} with that of
 * the current {@link PropertyValue} if merging is supported and enabled.
 * @see Mergeable
 */
private PropertyValue mergeIfRequired(PropertyValue newPv, PropertyValue currentPv) {
  Object value = newPv.getValue();
  if (value instanceof Mergeable) {
    Mergeable mergeable = (Mergeable) value;
    if (mergeable.isMergeEnabled()) {
      Object merged = mergeable.merge(currentPv.getValue());
      return new PropertyValue(newPv.getName(), merged);
    }
  }
  return newPv;
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void streamContainsPropertyValue() {
  MutablePropertyValues pvs = new MutablePropertyValues();
  pvs.add("foo", "bar");
  assertThat(pvs.stream(), notNullValue());
  assertThat(pvs.stream().count(), is(1L));
  assertThat(pvs.stream().anyMatch(pv -> "foo".equals(pv.getName()) && "bar".equals(pv.getValue())), is(true));
  assertThat(pvs.stream().anyMatch(pv -> "bar".equals(pv.getName()) && "foo".equals(pv.getValue())), is(false));
}

代码示例来源:origin: org.springframework/spring-beans

protected void visitPropertyValues(MutablePropertyValues pvs) {
  PropertyValue[] pvArray = pvs.getPropertyValues();
  for (PropertyValue pv : pvArray) {
    Object newVal = resolveValue(pv.getValue());
    if (!ObjectUtils.nullSafeEquals(newVal, pv.getValue())) {
      pvs.add(pv.getName(), newVal);
    }
  }
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Must contain: forname=Tony surname=Blair age=50
 */
protected void doTestTony(PropertyValues pvs) {
  assertTrue("Contains 3", pvs.getPropertyValues().length == 3);
  assertTrue("Contains forname", pvs.contains("forname"));
  assertTrue("Contains surname", pvs.contains("surname"));
  assertTrue("Contains age", pvs.contains("age"));
  assertTrue("Doesn't contain tory", !pvs.contains("tory"));
  PropertyValue[] ps = pvs.getPropertyValues();
  Map<String, String> m = new HashMap<>();
  m.put("forname", "Tony");
  m.put("surname", "Blair");
  m.put("age", "50");
  for (int i = 0; i < ps.length; i++) {
    Object val = m.get(ps[i].getName());
    assertTrue("Can't have unexpected value", val != null);
    assertTrue("Val i string", val instanceof String);
    assertTrue("val matches expected", val.equals(ps[i].getValue()));
    m.remove(ps[i].getName());
  }
  assertTrue("Map size is 0", m.size() == 0);
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Must contain: forname=Tony surname=Blair age=50
 */
protected void doTestTony(PropertyValues pvs) throws Exception {
  assertTrue("Contains 3", pvs.getPropertyValues().length == 3);
  assertTrue("Contains forname", pvs.contains("forname"));
  assertTrue("Contains surname", pvs.contains("surname"));
  assertTrue("Contains age", pvs.contains("age"));
  assertTrue("Doesn't contain tory", !pvs.contains("tory"));
  PropertyValue[] ps = pvs.getPropertyValues();
  Map<String, String> m = new HashMap<>();
  m.put("forname", "Tony");
  m.put("surname", "Blair");
  m.put("age", "50");
  for (int i = 0; i < ps.length; i++) {
    Object val = m.get(ps[i].getName());
    assertTrue("Can't have unexpected value", val != null);
    assertTrue("Val i string", val instanceof String);
    assertTrue("val matches expected", val.equals(ps[i].getValue()));
    m.remove(ps[i].getName());
  }
  assertTrue("Map size is 0", m.size() == 0);
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Must contain: forname=Tony surname=Blair age=50
 */
protected void doTestTony(PropertyValues pvs) throws Exception {
  assertTrue("Contains 3", pvs.getPropertyValues().length == 3);
  assertTrue("Contains forname", pvs.contains("forname"));
  assertTrue("Contains surname", pvs.contains("surname"));
  assertTrue("Contains age", pvs.contains("age"));
  assertTrue("Doesn't contain tory", !pvs.contains("tory"));
  PropertyValue[] pvArray = pvs.getPropertyValues();
  Map<String, String> m = new HashMap<>();
  m.put("forname", "Tony");
  m.put("surname", "Blair");
  m.put("age", "50");
  for (PropertyValue pv : pvArray) {
    Object val = m.get(pv.getName());
    assertTrue("Can't have unexpected value", val != null);
    assertTrue("Val i string", val instanceof String);
    assertTrue("val matches expected", val.equals(pv.getValue()));
    m.remove(pv.getName());
  }
  assertTrue("Map size is 0", m.size() == 0);
}

代码示例来源:origin: spring-projects/spring-framework

@Override
public void setPropertyValue(PropertyValue pv) throws BeansException {
  PropertyTokenHolder tokens = (PropertyTokenHolder) pv.resolvedTokens;
  if (tokens == null) {
    String propertyName = pv.getName();
    AbstractNestablePropertyAccessor nestedPa;
    try {
      nestedPa = getPropertyAccessorForPropertyPath(propertyName);
    }
    catch (NotReadablePropertyException ex) {
      throw new NotWritablePropertyException(getRootClass(), this.nestedPath + propertyName,
          "Nested property in path '" + propertyName + "' does not exist", ex);
    }
    tokens = getPropertyNameTokens(getFinalPath(nestedPa, propertyName));
    if (nestedPa == this) {
      pv.getOriginalPropertyValue().resolvedTokens = tokens;
    }
    nestedPa.setPropertyValue(tokens, pv);
  }
  else {
    setPropertyValue(tokens, pv);
  }
}

代码示例来源:origin: spring-projects/spring-framework

PropertyValue[] pvs = bd.getPropertyValues().getPropertyValues();
for (PropertyValue pv : pvs) {
  String propertyName = pv.getName();
  Class<?> propertyType = BeanUtils.findPropertyType(propertyName, interfaces);
  String setterName = "set" + StringUtils.capitalize(propertyName);

代码示例来源:origin: spring-projects/spring-framework

@Test
public void iteratorContainsPropertyValue() {
  MutablePropertyValues pvs = new MutablePropertyValues();
  pvs.add("foo", "bar");
  Iterator<PropertyValue> it = pvs.iterator();
  assertTrue(it.hasNext());
  PropertyValue pv = it.next();
  assertEquals("foo", pv.getName());
  assertEquals("bar", pv.getValue());
  try {
    it.remove();
    fail("Should have thrown UnsupportedOperationException");
  }
  catch (UnsupportedOperationException ex) {
    // expected
  }
  assertFalse(it.hasNext());
}

相关文章