public FileValueBuilderImpl(String filename) { EnsureUtil.ensureNotNull("filename", filename); fileValue = new FileValueImpl(PrimitiveValueType.FILE, filename); }
@Override public FileValueBuilder encoding(String encoding) { fileValue.setEncoding(encoding); return this; }
@Override public FileValueBuilder mimeType(String mimeType) { fileValue.setMimeType(mimeType); return this; }
@Override public FileValueBuilder setTransient(boolean isTransient) { fileValue.setTransient(isTransient); return this; }
@Override public void writeValue(FileValue value, ValueFields valueFields) { byte[] data = ((FileValueImpl) value).getByteArray(); valueFields.setByteArrayValue(data); valueFields.setTextValue(value.getFilename()); if (value.getMimeType() == null && value.getEncoding() != null) { valueFields.setTextValue2(MIMETYPE_ENCODING_SEPARATOR + value.getEncoding()); } else if (value.getMimeType() != null && value.getEncoding() == null) { valueFields.setTextValue2(value.getMimeType() + MIMETYPE_ENCODING_SEPARATOR); } else if (value.getMimeType() != null && value.getEncoding() != null) { valueFields.setTextValue2(value.getMimeType() + MIMETYPE_ENCODING_SEPARATOR + value.getEncoding()); } }
@Override public FileValueBuilder file(byte[] bytes) { fileValue.setValue(bytes); return this; }
/** * Creates an untyped value, i.e. {@link TypedValue#getType()} returns <code>null</code> * for the returned instance. */ public static TypedValue untypedValue(Object value, boolean isTransient) { if(value == null) { return untypedNullValue(isTransient); } else if (value instanceof TypedValueBuilder<?>) { return ((TypedValueBuilder<?>) value).setTransient(isTransient).create(); } else if (value instanceof TypedValue) { TypedValue transientValue = (TypedValue) value; if (value instanceof NullValueImpl) { transientValue = untypedNullValue(isTransient); } else if (value instanceof FileValue) { ((FileValueImpl) transientValue).setTransient(isTransient); } else if (value instanceof AbstractTypedValue<?>) { ((AbstractTypedValue<?>) transientValue).setTransient(isTransient); } return transientValue; } else { // unknown value return new UntypedValueImpl(value, isTransient); } }
@Override public void writeValue(FileValue value, ValueFields valueFields) { byte[] data = ((FileValueImpl) value).getByteArray(); valueFields.setByteArrayValue(data); valueFields.setTextValue(value.getFilename()); if (value.getMimeType() == null && value.getEncoding() != null) { valueFields.setTextValue2(MIMETYPE_ENCODING_SEPARATOR + value.getEncoding()); } else if (value.getMimeType() != null && value.getEncoding() == null) { valueFields.setTextValue2(value.getMimeType() + MIMETYPE_ENCODING_SEPARATOR); } else if (value.getMimeType() != null && value.getEncoding() != null) { valueFields.setTextValue2(value.getMimeType() + MIMETYPE_ENCODING_SEPARATOR + value.getEncoding()); } }
@Override public FileValueBuilder file(byte[] bytes) { fileValue.setValue(bytes); return this; }
@Override public FileValueBuilder encoding(Charset encoding) { fileValue.setEncoding(encoding); return this; }
@Override public FileValueBuilder setTransient(boolean isTransient) { fileValue.setTransient(isTransient); return this; }
@Override public void writeValue(FileValue value, ValueFields valueFields) { byte[] data = ((FileValueImpl) value).getByteArray(); valueFields.setByteArrayValue(data); valueFields.setTextValue(value.getFilename()); if (value.getMimeType() == null && value.getEncoding() != null) { valueFields.setTextValue2(MIMETYPE_ENCODING_SEPARATOR + value.getEncoding()); } else if (value.getMimeType() != null && value.getEncoding() == null) { valueFields.setTextValue2(value.getMimeType() + MIMETYPE_ENCODING_SEPARATOR); } else if (value.getMimeType() != null && value.getEncoding() != null) { valueFields.setTextValue2(value.getMimeType() + MIMETYPE_ENCODING_SEPARATOR + value.getEncoding()); } }
@Override public FileValueBuilder mimeType(String mimeType) { fileValue.setMimeType(mimeType); return this; }
public FileValueBuilderImpl(String filename) { EnsureUtil.ensureNotNull("filename", filename); fileValue = new FileValueImpl(PrimitiveValueType.FILE, filename); }
@Override public FileValueBuilder encoding(Charset encoding) { fileValue.setEncoding(encoding); return this; }
/** * Creates an untyped value, i.e. {@link TypedValue#getType()} returns <code>null</code> * for the returned instance. */ public static TypedValue untypedValue(Object value, boolean isTransient) { if(value == null) { return untypedNullValue(isTransient); } else if (value instanceof TypedValueBuilder<?>) { return ((TypedValueBuilder<?>) value).setTransient(isTransient).create(); } else if (value instanceof TypedValue) { TypedValue transientValue = (TypedValue) value; if (value instanceof NullValueImpl) { transientValue = untypedNullValue(isTransient); } else if (value instanceof FileValue) { ((FileValueImpl) transientValue).setTransient(isTransient); } else if (value instanceof AbstractTypedValue<?>) { ((AbstractTypedValue<?>) transientValue).setTransient(isTransient); } return transientValue; } else { // unknown value return new UntypedValueImpl(value, isTransient); } }
@Override public FileValueBuilder encoding(String encoding) { fileValue.setEncoding(encoding); return this; }