Mercurial > jhg
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 } |
