comparison src/org/tmatesoft/hg/internal/DataSerializer.java @ 628:6526d8adbc0f

Explicit HgRuntimeException to facilitate easy switch from runtime to checked exceptions
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Wed, 22 May 2013 15:52:31 +0200
parents 7c0d2ce340b8
children 14dac192aa26
comparison
equal deleted inserted replaced
627:5153eb73b18d 628:6526d8adbc0f
17 package org.tmatesoft.hg.internal; 17 package org.tmatesoft.hg.internal;
18 18
19 import java.io.ByteArrayOutputStream; 19 import java.io.ByteArrayOutputStream;
20 20
21 import org.tmatesoft.hg.core.HgIOException; 21 import org.tmatesoft.hg.core.HgIOException;
22 import org.tmatesoft.hg.repo.HgRuntimeException;
22 23
23 /** 24 /**
24 * Serialization friend of {@link DataAccess} 25 * Serialization friend of {@link DataAccess}
25 * 26 *
26 * @author Artem Tikhomirov 27 * @author Artem Tikhomirov
76 interface DataSource { 77 interface DataSource {
77 /** 78 /**
78 * Invoked once for a single write operation, 79 * Invoked once for a single write operation,
79 * although the source itself may get serialized several times 80 * although the source itself may get serialized several times
80 */ 81 */
81 public void serialize(DataSerializer out) throws HgIOException; 82 public void serialize(DataSerializer out) throws HgIOException, HgRuntimeException;
82 83
83 /** 84 /**
84 * Hint of data length it would like to writes 85 * Hint of data length it would like to writes
85 * @return -1 if can't answer 86 * @return -1 if can't answer
86 */ 87 */
87 public int serializeLength(); 88 public int serializeLength() throws HgRuntimeException;
88 } 89 }
89 90
90 public static class ByteArrayDataSource implements DataSource { 91 public static class ByteArrayDataSource implements DataSource {
91 92
92 private final byte[] data; 93 private final byte[] data;