Mercurial > hg4j
comparison src/com/tmate/hgkit/ll/HgRepository.java @ 2:08db726a0fb7
Shaping out low-level Hg structures
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Sun, 19 Dec 2010 05:41:31 +0100 |
parents | a3576694a4d1 |
children | 24bb4f365164 |
comparison
equal
deleted
inserted
replaced
1:a3576694a4d1 | 2:08db726a0fb7 |
---|---|
4 package com.tmate.hgkit.ll; | 4 package com.tmate.hgkit.ll; |
5 | 5 |
6 | 6 |
7 /** | 7 /** |
8 * @author artem | 8 * @author artem |
9 * | |
10 */ | 9 */ |
11 public abstract class HgRepository { | 10 public abstract class HgRepository { |
12 | 11 |
12 // temp aux marker method | |
13 public static IllegalStateException notImplemented() { | |
14 return new IllegalStateException("Not implemented"); | |
15 } | |
16 | |
13 | 17 |
14 private Changelog changelog; | 18 private Changelog changelog; |
19 private HgManifest manifest; | |
20 | |
15 private boolean isInvalid = true; | 21 private boolean isInvalid = true; |
16 | 22 |
17 public boolean isInvalid() { | 23 public boolean isInvalid() { |
18 return this.isInvalid; | 24 return this.isInvalid; |
19 } | 25 } |
21 protected void setInvalid(boolean invalid) { | 27 protected void setInvalid(boolean invalid) { |
22 isInvalid = invalid; | 28 isInvalid = invalid; |
23 } | 29 } |
24 | 30 |
25 public void log() { | 31 public void log() { |
26 Changelog clog = getChangelog(); | 32 Revlog clog = getChangelog(); |
27 assert clog != null; | 33 assert clog != null; |
28 // TODO get data to the client | 34 // TODO get data to the client |
29 } | 35 } |
30 | 36 |
31 /** | 37 public final Changelog getChangelog() { |
32 * @return | |
33 */ | |
34 private Changelog getChangelog() { | |
35 if (this.changelog == null) { | 38 if (this.changelog == null) { |
36 this.changelog = new Changelog(); | 39 // might want delegate to protected createChangelog() some day |
40 this.changelog = new Changelog(this); | |
37 // TODO init | 41 // TODO init |
38 } | 42 } |
39 return this.changelog; | 43 return this.changelog; |
40 } | 44 } |
45 | |
46 public final HgManifest getManifest() { | |
47 if (this.manifest == null) { | |
48 this.manifest = new HgManifest(this); | |
49 } | |
50 return this.manifest; | |
51 } | |
52 | |
53 public final Object/*HgDirstate*/ getDirstate() { | |
54 throw notImplemented(); | |
55 } | |
56 | |
57 public abstract HgDataFile getFileNode(String path); | |
41 | 58 |
42 public abstract String getLocation(); | 59 public abstract String getLocation(); |
60 | |
61 | |
62 /** | |
63 * Perhaps, should be separate interface, like ContentLookup | |
64 */ | |
65 public abstract RevlogStream resolve(String string); | |
43 } | 66 } |