public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException { try { ORecordBytes record = new ORecordBytes(); record.fromInputStream(x); record.save(); params.put(parameterIndex, record); } catch (IOException e) { throw new SQLException("unable to store inputStream", e); } }
public void toOutputStream(final OutputStream out) throws IOException { checkForLoading(); if (_source.length > 0) { out.write(_source); } } }
@Override public ORecordBytes copy() { return (ORecordBytes) copyTo(new ORecordBytes()); }
public ORecord fromStream(final byte[] iSource) { return new ORecordBytes(iSource); }
public ORecordBytes(final byte[] iSource) { super(iSource); _dirty = true; _contentChanged = true; setup(); }
public ORecordBytes reset(final byte[] iSource) { reset(); _source = iSource; return this; }
@Override public ORecordAbstract clear() { clearSource(); return super.clear(); }
@Override public OResult next() { OResult toCopy = upstream.next(); long begin = profilingEnabled ? System.nanoTime() : 0; try { ORecord resultDoc = null; if (toCopy.isElement()) { ORecord docToCopy = toCopy.getElement().get().getRecord(); if (docToCopy instanceof ODocument) { resultDoc = ((ODocument) docToCopy).copy(); resultDoc.getIdentity().reset(); ((ODocument) resultDoc).setClassName(null); resultDoc.setDirty(); } else if (docToCopy instanceof OBlob) { ORecordBytes newBlob = ((ORecordBytes) docToCopy).copy(); OResultInternal result = new OResultInternal(); result.setElement(newBlob); return result; } } else { resultDoc = toCopy.toElement().getRecord(); } return new OUpdatableResult((ODocument) resultDoc); } finally { if (profilingEnabled) { cost += (System.nanoTime() - begin); } } }
@Override public OBlob newBlob() { return new ORecordBytes(); }
public ORecordBytes(final ORID iRecordId) { _recordId = (ORecordId) iRecordId; setup(); }
@Override public OBlob newBlob() { return new ORecordBytes(); }
public ORecordBytes() { setup(); }
@Override public OBlob newBlob(byte[] bytes) { return new ORecordBytes(bytes); }
public ORecordBytes(final ODatabaseDocumentInternal iDatabase) { setup(); ODatabaseRecordThreadLocal.instance().set(iDatabase); }
public ORecordFactoryManager() { declareRecordType(ODocument.RECORD_TYPE, "document", ODocument.class, (cluster, database) -> { if (database != null && cluster >= 0) { if (database.isClusterVertex(cluster)) { return new OVertexDocument(); } else if (database.isClusterEdge(cluster)) { return new OEdgeDocument(); } } return new ODocument(); }); declareRecordType(OBlob.RECORD_TYPE, "bytes", OBlob.class, (cluster, database) -> new ORecordBytes()); declareRecordType(ORecordFlat.RECORD_TYPE, "flat", ORecordFlat.class, (cluster, database) -> new ORecordFlat()); }