You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CheckoutConflictException.java 3.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*
  2. * Copyright (C) 2010, Christian Halstrick <christian.halstrick@sap.com> and
  3. * other copyright owners as documented in the project's IP log.
  4. *
  5. * This program and the accompanying materials are made available under the
  6. * terms of the Eclipse Distribution License v1.0 which accompanies this
  7. * distribution, is reproduced below, and is available at
  8. * http://www.eclipse.org/org/documents/edl-v10.php
  9. *
  10. * All rights reserved.
  11. *
  12. * Redistribution and use in source and binary forms, with or without
  13. * modification, are permitted provided that the following conditions are met:
  14. *
  15. * - Redistributions of source code must retain the above copyright notice, this
  16. * list of conditions and the following disclaimer.
  17. *
  18. * - Redistributions in binary form must reproduce the above copyright notice,
  19. * this list of conditions and the following disclaimer in the documentation
  20. * and/or other materials provided with the distribution.
  21. *
  22. * - Neither the name of the Eclipse Foundation, Inc. nor the names of its
  23. * contributors may be used to endorse or promote products derived from this
  24. * software without specific prior written permission.
  25. *
  26. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  27. * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  28. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  29. * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  30. * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  31. * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  32. * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  33. * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  34. * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  35. * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  36. * POSSIBILITY OF SUCH DAMAGE.
  37. */
  38. package org.eclipse.jgit.api;
  39. import java.util.LinkedList;
  40. import java.util.List;
  41. /**
  42. * Exception thrown when a command can't succeed because of unresolved
  43. * conflicts.
  44. */
  45. public class CheckoutConflictException extends GitAPIException {
  46. private static final long serialVersionUID = 1L;
  47. private List<String> conflictingPaths;
  48. CheckoutConflictException(String message, Throwable cause) {
  49. super(message, cause);
  50. }
  51. CheckoutConflictException(String message, List<String> conflictingPaths, Throwable cause) {
  52. super(message, cause);
  53. this.conflictingPaths = conflictingPaths;
  54. }
  55. CheckoutConflictException(String message) {
  56. super(message);
  57. }
  58. CheckoutConflictException(String message, List<String> conflictingPaths) {
  59. super(message);
  60. this.conflictingPaths = conflictingPaths;
  61. }
  62. /** @return all the paths where unresolved conflicts have been detected */
  63. public List<String> getConflictingPaths() {
  64. return conflictingPaths;
  65. }
  66. /**
  67. * Adds a new conflicting path
  68. * @param conflictingPath
  69. * @return {@code this}
  70. */
  71. CheckoutConflictException addConflictingPath(String conflictingPath) {
  72. if (conflictingPaths == null)
  73. conflictingPaths = new LinkedList<String>();
  74. conflictingPaths.add(conflictingPath);
  75. return this;
  76. }
  77. }