Skip to content

Method: AbstractConnector()

1: /**
2: * Copyright (C) 2016 Czech Technical University in Prague
3: *
4: * This program is free software: you can redistribute it and/or modify it under
5: * the terms of the GNU General Public License as published by the Free Software
6: * Foundation, either version 3 of the License, or (at your option) any
7: * later version.
8: *
9: * This program is distributed in the hope that it will be useful, but WITHOUT
10: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11: * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12: * details. You should have received a copy of the GNU General Public License
13: * along with this program. If not, see <http://www.gnu.org/licenses/>.
14: */
15: package cz.cvut.kbss.ontodriver.sesame.connector;
16:
17: import cz.cvut.kbss.ontodriver.exception.OntoDriverException;
18: import cz.cvut.kbss.ontodriver.sesame.Transaction;
19: import cz.cvut.kbss.ontodriver.sesame.exceptions.SesameDriverException;
20:
21: abstract class AbstractConnector implements Connector {
22:
23:         protected Transaction transaction;
24:         protected boolean open;
25:
26:         protected AbstractConnector() {
27:                 this.transaction = new Transaction();
28:         }
29:
30:         @Override
31:         public boolean isOpen() {
32:                 return open;
33:         }
34:
35:         @Override
36:         public void close() throws OntoDriverException {
37:                 if (!open) {
38:                         return;
39:                 }
40:                 this.open = false;
41:         }
42:
43:         @Override
44:         public void begin() throws SesameDriverException {
45:                 transaction.begin();
46:         }
47:
48:         protected void verifyTransactionActive() {
49:                 if (!transaction.isActive()) {
50:                         throw new IllegalStateException();
51:                 }
52:         }
53: }