| | |
| | | |
| | | |
| | | |
| | | // Merge the messages into a single message. |
| | | private static Message getSingleMessage(Collection<Message> messages) { |
| | | // Gets the default message. |
| | | private static Message getDefaultMessage(Collection<Message> messages) { |
| | | Validator.ensureNotNull(messages); |
| | | Validator.ensureTrue(!messages.isEmpty()); |
| | | |
| | |
| | | return ERR_OPERATION_REJECTED_EXCEPTION_SINGLE.get(messages.iterator() |
| | | .next()); |
| | | } else { |
| | | return ERR_OPERATION_REJECTED_EXCEPTION_PLURAL |
| | | .get(getSingleMessage(messages)); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | // Merge the messages into a single message. |
| | | private static Message getSingleMessage(Collection<Message> messages) { |
| | | if (messages.size() == 1) { |
| | | return messages.iterator().next(); |
| | | } else { |
| | | MessageBuilder builder = new MessageBuilder(); |
| | | |
| | | boolean isFirst = true; |
| | | for (Message m : messages) { |
| | | if (!isFirst) { |
| | | builder.append("; "); |
| | | builder.append("; "); |
| | | } |
| | | builder.append(m); |
| | | isFirst = false; |
| | | } |
| | | |
| | | return ERR_OPERATION_REJECTED_EXCEPTION_PLURAL.get(builder.toMessage()); |
| | | return builder.toMessage(); |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | |
| | | /** |
| | | * Creates a new operation rejected exception with a default |
| | | * message. |
| | | */ |
| | | public OperationRejectedException() { |
| | | this(ERR_OPERATION_REJECTED_DEFAULT.get()); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * Creates a new operation rejected exception with the provided |
| | | * messages. |
| | | * |
| | |
| | | * non-empty). |
| | | */ |
| | | public OperationRejectedException(Collection<Message> messages) { |
| | | super(getSingleMessage(messages)); |
| | | super(getDefaultMessage(messages)); |
| | | |
| | | this.messages = new ArrayList<Message>(messages); |
| | | } |
| | |
| | | |
| | | |
| | | /** |
| | | * Creates a new operation rejected exception with a default |
| | | * message. |
| | | */ |
| | | public OperationRejectedException() { |
| | | this(ERR_OPERATION_REJECTED_DEFAULT.get()); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * Gets an unmodifiable collection view of the messages describing |
| | | * the constraint violations that occurred. |
| | | * |
| | |
| | | return Collections.unmodifiableCollection(messages); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * Creates a single message listing all the messages combined into a |
| | | * single list separated by semi-colons. |
| | | * |
| | | * @return Returns a single message listing all the messages |
| | | * combined into a single list separated by semi-colons. |
| | | */ |
| | | public Message getMessagesAsSingleMessage() { |
| | | return getSingleMessage(messages); |
| | | } |
| | | |
| | | } |