/* * Copyright (c) 2017 OBiBa. All rights reserved. * * This program and the accompanying materials * are made available under the terms of the GNU Public License v3.0. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.obiba.magma.datasource.fs.input; import java.io.InputStream; import javax.crypto.CipherInputStream; import org.obiba.magma.datasource.crypt.DatasourceCipherFactory; import org.obiba.magma.datasource.fs.InputStreamWrapper; import de.schlichtherle.io.File; public class CipherInputStreamWrapper implements InputStreamWrapper { private final DatasourceCipherFactory cipherProvider; public CipherInputStreamWrapper(DatasourceCipherFactory cipherProvider) { this.cipherProvider = cipherProvider; } @Override public InputStream wrap(InputStream is, File file) { return new CipherInputStream(is, cipherProvider.createDecryptingCipher()); } }