Mercurial > jhg
comparison src/org/tmatesoft/hg/core/HgRepoFacade.java @ 423:9c9c442b5f2e
Major refactoring of exception handling. Low-level API uses RuntimeExceptions, while checked are left for higher level
| author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
|---|---|
| date | Fri, 23 Mar 2012 22:51:18 +0100 |
| parents | 981f9f50bb6c |
| children | 12f668401613 |
comparison
equal
deleted
inserted
replaced
| 422:5d1cc7366d04 | 423:9c9c442b5f2e |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (c) 2011 TMate Software Ltd | 2 * Copyright (c) 2011-2012 TMate Software Ltd |
| 3 * | 3 * |
| 4 * This program is free software; you can redistribute it and/or modify | 4 * This program is free software; you can redistribute it and/or modify |
| 5 * it under the terms of the GNU General Public License as published by | 5 * it under the terms of the GNU General Public License as published by |
| 6 * the Free Software Foundation; version 2 of the License. | 6 * the Free Software Foundation; version 2 of the License. |
| 7 * | 7 * |
| 64 return !repo.isInvalid(); | 64 return !repo.isInvalid(); |
| 65 } | 65 } |
| 66 | 66 |
| 67 /** | 67 /** |
| 68 * Tries to find repository starting from the current working directory. | 68 * Tries to find repository starting from the current working directory. |
| 69 * | |
| 69 * @return <code>true</code> if found valid repository | 70 * @return <code>true</code> if found valid repository |
| 70 * @throws HgInvalidFileException in case of errors during repository initialization | 71 * @throws HgRepositoryNotFoundException if no repository found in working directory |
| 71 */ | 72 */ |
| 72 public boolean init() throws HgInvalidFileException { | 73 public boolean init() throws HgRepositoryNotFoundException { |
| 73 repo = new HgLookup(context).detectFromWorkingDir(); | 74 repo = new HgLookup(context).detectFromWorkingDir(); |
| 74 return repo != null && !repo.isInvalid(); | 75 return repo != null && !repo.isInvalid(); |
| 75 } | 76 } |
| 76 | 77 |
| 77 /** | 78 /** |
| 78 * Looks up Mercurial repository starting from specified location and up to filesystem root. | 79 * Looks up Mercurial repository starting from specified location and up to filesystem root. |
| 79 * | 80 * |
| 80 * @param repoLocation path to any folder within structure of a Mercurial repository. | 81 * @param repoLocation path to any folder within structure of a Mercurial repository. |
| 81 * @return <code>true</code> if found valid repository | 82 * @return <code>true</code> if found valid repository |
| 82 * @throws HgInvalidFileException if there are errors accessing specified location | 83 * @throws HgRepositoryNotFoundException if there's no repository at specified location |
| 83 * @throws IllegalArgumentException if argument is <code>null</code> | 84 * @throws IllegalArgumentException if argument is <code>null</code> |
| 84 */ | 85 */ |
| 85 public boolean initFrom(File repoLocation) throws HgInvalidFileException { | 86 public boolean initFrom(File repoLocation) throws HgRepositoryNotFoundException { |
| 86 if (repoLocation == null) { | 87 if (repoLocation == null) { |
| 87 throw new IllegalArgumentException(); | 88 throw new IllegalArgumentException(); |
| 88 } | 89 } |
| 89 repo = new HgLookup(context).detect(repoLocation); | 90 repo = new HgLookup(context).detect(repoLocation); |
| 90 return repo != null && !repo.isInvalid(); | 91 return repo != null && !repo.isInvalid(); |
