]> review.fuel-infra Code Review - packages/trusty/mysql-wsrep-5.6.git/blob
f9d5ab91490c2ea8a2016512ce72e42281fd4d04
[packages/trusty/mysql-wsrep-5.6.git] /
1 /*
2  *  Copyright 2010 Sun Microsystems, Inc.
3  *  All rights reserved. Use is subject to license terms.
4  *
5  *  This program is free software; you can redistribute it and/or modify
6  *  it under the terms of the GNU General Public License as published by
7  *  the Free Software Foundation; version 2 of the License.
8  *
9  *  This program is distributed in the hope that it will be useful,
10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  *  GNU General Public License for more details.
13  *
14  *  You should have received a copy of the GNU General Public License
15  *  along with this program; if not, write to the Free Software
16  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
17  */
18
19 package com.mysql.clusterj.bindings;
20
21 import com.mysql.cluster.ndbj.NdbApiException;
22 import com.mysql.cluster.ndbj.NdbBlob;
23 import com.mysql.clusterj.ClusterJDatastoreException;
24 import com.mysql.clusterj.core.store.Blob;
25 import com.mysql.clusterj.core.util.I18NHelper;
26 import com.mysql.clusterj.core.util.Logger;
27 import com.mysql.clusterj.core.util.LoggerFactoryService;
28
29 /**
30  *
31  */
32 class BlobImpl implements Blob {
33
34     /** My message translator */
35     static final I18NHelper local = I18NHelper
36             .getInstance(BlobImpl.class);
37
38     /** My logger */
39     static final Logger logger = LoggerFactoryService.getFactory()
40             .getInstance(BlobImpl.class);
41
42     private NdbBlob blob;
43
44     public BlobImpl(NdbBlob blob) {
45         this.blob = blob;
46     }
47
48     public Long getLength() {
49         try {
50             return blob.getLength().longValue();
51         } catch (NdbApiException ndbApiException) {
52             throw new ClusterJDatastoreException(local.message("ERR_Datastore"),
53                     ndbApiException);
54         }
55     }
56
57     public void readData(byte[] data, int length) {
58         try {
59             blob.readData(data, length);
60         } catch (NdbApiException ndbApiException) {
61             throw new ClusterJDatastoreException(local.message("ERR_Datastore"),
62                     ndbApiException);
63         }
64     }
65
66     public void writeData(byte[] data) {
67         try {
68             blob.writeData(data);
69         } catch (NdbApiException ndbApiException) {
70             throw new ClusterJDatastoreException(local.message("ERR_Datastore"),
71                     ndbApiException);
72         }
73     }
74
75     public void setValue(byte[] data) {
76         try {
77             blob.setValue(data);
78         } catch (NdbApiException ndbApiException) {
79             throw new ClusterJDatastoreException(local.message("ERR_Datastore"),
80                     ndbApiException);
81         }
82     }
83
84     public void setNull() {
85         try {
86             blob.setNull();
87         } catch (NdbApiException ndbApiException) {
88             throw new ClusterJDatastoreException(local.message("ERR_Datastore"),
89                     ndbApiException);
90         }
91     }
92
93 }