@Override public FieldValue convert(@Nonnull String value) { return NarrativeValue.valueOf(value); } };
@Override public Collection<?> toParameters(FieldValue value) { if(value instanceof NarrativeValue) { return Collections.singleton(((NarrativeValue) value).asString()); } else { return Collections.singleton(null); } } }));
@Override public Object toHrdProperty(NarrativeValue value) { return new Text(value.getText()); }
public static NarrativeValue valueOf(String text) { if(Strings.isNullOrEmpty(text)) { return null; } else { return new NarrativeValue(text); } }
@Override public FieldValue toFieldValue(ResultSet rs, int index) throws SQLException { return NarrativeValue.valueOf(rs.getString(index)); }
@Override public Promise<Void> setValue(NarrativeValue value) { textArea.setValue(value.getText()); return Promise.done(); }
@Override public void init(FieldValue value) { textArea.setText(((NarrativeValue) value).asString()); }
@Override public FieldValue apply(List<FieldValue> arguments) { StringBuilder concatenatedString = new StringBuilder(); for (int i=0; i<arguments.size(); i++) { if (arguments.get(i) == null) { continue; } String value = Casting.toString(arguments.get(i)); concatenatedString.append(value); } return NarrativeValue.valueOf(concatenatedString.toString()); }
@Override public NarrativeValue toFieldValue(Object hrdValue) { if(hrdValue instanceof Text) { return NarrativeValue.valueOf(((Text) hrdValue).getValue()); } else { return null; } } };
@Override public FieldValue parseJsonValue(JsonValue value) { return NarrativeValue.valueOf(value.asString()); }
@Override public FieldValue get() { int houseNumber = 12 + random.nextInt(1530); String street = STREETS.get(random.nextInt(STREETS.size())); String streetSuffix = SUFFIXES[random.nextInt(SUFFIXES.length)]; String city = STREETS.get(random.nextInt(STREETS.size())); String state = randomLetter() + randomLetter(); int zipCode = random.nextInt(99999); return NarrativeValue.valueOf(String.format("%d %s %s\n%s, %s %5d", houseNumber, street, streetSuffix, city, state, zipCode)); }
@Override public void fireValueChanged() { updater.update(NarrativeValue.valueOf(this.textArea.getText())); }
private FieldInput input() { return new FieldInput(NarrativeValue.valueOf(textArea.getText())); }
@Test public void concatenateNarrativeFields() { FieldValue val1, val2, val3,expectedOutput; val1 = NarrativeValue.valueOf("Left"); val2 = NarrativeValue.valueOf("Middle"); val3 = NarrativeValue.valueOf("Right"); expectedOutput = NarrativeValue.valueOf("LeftMiddleRight"); List<FieldValue> values = Lists.newArrayList(val1, val2, val3); List<FieldType> types = values.stream() .map(FieldValue::getTypeClass) .map(FieldTypeClass::createType) .collect(Collectors.toList()); assertThat(resolveFieldType(types), Matchers.equalTo(NarrativeType.INSTANCE)); assertThat(ConcatenateFunction.INSTANCE.apply(values), Matchers.equalTo(expectedOutput)); }
@Override public FieldValue apply(List<FieldValue> arguments) { checkArity(arguments, numArgs); String substring = substring(text(arguments), startPosition(arguments), numChars(arguments)); if (arguments.get(0).getTypeClass().equals(FieldTypeClass.NARRATIVE)) { return NarrativeValue.valueOf(substring); } else { return TextValue.valueOf(substring); } }
@Test public void rightEmptyNumCharArgument() { FieldValue val1, val2; val1 = NarrativeValue.valueOf("Example"); val2 = NullFieldValue.INSTANCE; testIncorrectArguments(RightFunction.INSTANCE, Lists.newArrayList(val1,val2)); }