Mercurial > hg4j
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; |