Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
DocumentToLargeException |
|
| 1.0;1 |
1 | /* | |
2 | * #%L | |
3 | * DocumentToLargeException.java - mongodb-async-driver - Allanbank Consulting, Inc. | |
4 | * %% | |
5 | * Copyright (C) 2011 - 2014 Allanbank Consulting, Inc. | |
6 | * %% | |
7 | * Licensed under the Apache License, Version 2.0 (the "License"); | |
8 | * you may not use this file except in compliance with the License. | |
9 | * You may obtain a copy of the License at | |
10 | * | |
11 | * http://www.apache.org/licenses/LICENSE-2.0 | |
12 | * | |
13 | * Unless required by applicable law or agreed to in writing, software | |
14 | * distributed under the License is distributed on an "AS IS" BASIS, | |
15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
16 | * See the License for the specific language governing permissions and | |
17 | * limitations under the License. | |
18 | * #L% | |
19 | */ | |
20 | package com.allanbank.mongodb.error; | |
21 | ||
22 | import com.allanbank.mongodb.MongoDbException; | |
23 | import com.allanbank.mongodb.bson.Document; | |
24 | ||
25 | /** | |
26 | * DocumentToLargeException is thrown to report that an attempt was made to | |
27 | * serialize a Document that is over the maximum size limit. | |
28 | * | |
29 | * @api.yes This class is part of the driver's API. Public and protected members | |
30 | * will be deprecated for at least 1 non-bugfix release (version | |
31 | * numbers are <major>.<minor>.<bugfix>) before being | |
32 | * removed or modified. | |
33 | * @copyright 2012-2013, Allanbank Consulting, Inc., All Rights Reserved | |
34 | */ | |
35 | public class DocumentToLargeException extends MongoDbException { | |
36 | ||
37 | /** Serialization exception for the class. */ | |
38 | private static final long serialVersionUID = 8235621460369360624L; | |
39 | ||
40 | /** The document that was too big. */ | |
41 | private final Document myDocument; | |
42 | ||
43 | /** The maximum size for a document. */ | |
44 | private final int myMaximumSize; | |
45 | ||
46 | /** The size of the document that violated the maximum size. */ | |
47 | private final int mySize; | |
48 | ||
49 | /** | |
50 | * Creates a new DocumentToLargeException. | |
51 | * | |
52 | * @param size | |
53 | * The size of the document that violated the maximum size. | |
54 | * @param maximum | |
55 | * The maximum size for a document. | |
56 | * @param document | |
57 | * The document that was too big. | |
58 | */ | |
59 | public DocumentToLargeException(final int size, final int maximum, | |
60 | final Document document) { | |
61 | 15 | super("Attempted to serialize a document of size " + size |
62 | + " when current maximum is " + maximum + "."); | |
63 | ||
64 | 15 | mySize = size; |
65 | 15 | myMaximumSize = maximum; |
66 | 15 | myDocument = document; |
67 | 15 | } |
68 | ||
69 | /** | |
70 | * Returns the document that was too big. | |
71 | * | |
72 | * @return The document that was too big. | |
73 | */ | |
74 | public Document getDocument() { | |
75 | 15 | return myDocument; |
76 | } | |
77 | ||
78 | /** | |
79 | * Returns the maximum size for a document. | |
80 | * | |
81 | * @return The maximum size for a document. | |
82 | */ | |
83 | public int getMaximumSize() { | |
84 | 15 | return myMaximumSize; |
85 | } | |
86 | ||
87 | /** | |
88 | * Returns the size of the document that violated the maximum size. | |
89 | * | |
90 | * @return The size of the document that violated the maximum size. | |
91 | */ | |
92 | public int getSize() { | |
93 | 15 | return mySize; |
94 | } | |
95 | } |