com.speedment.runtime.core.internal.util.testing.MockManagerImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of runtime-deploy Show documentation
Show all versions of runtime-deploy Show documentation
A Speedment bundle that shades all dependencies into one jar. This is
useful when deploying an application on a server.
/**
*
* Copyright (c) 2006-2019, Speedment, Inc. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"); You may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.speedment.runtime.core.internal.util.testing;
import com.speedment.runtime.config.identifier.TableIdentifier;
import com.speedment.runtime.core.exception.SpeedmentException;
import com.speedment.runtime.core.manager.*;
import com.speedment.runtime.field.Field;
import java.util.function.Supplier;
import java.util.stream.Stream;
/**
*
* @author pemi
* @param type
*/
public class MockManagerImpl implements MockManager {
private final Manager inner;
private Supplier entityCreator;
private Supplier> streamer;
private Persister persister;
private Updater updater;
private Remover remover;
public MockManagerImpl(Manager inner) {
this.inner = inner;
// this.entityCreator = inner.entityCreator();
this.streamer = inner::stream;
this.persister = inner.persister();
this.updater = inner.updater();
this.remover = inner.remover();
}
// MockManager
// @Override
// public MockManager setEntityCreator(EntityCreator factory) {
// entityCreator = factory;
// return this;
// }
@Override
public MockManager setStreamer(Supplier> streamer) {
this.streamer = streamer;
return this;
}
@Override
public MockManager setPersister(Persister persister) {
this.persister = persister;
return this;
}
@Override
public MockManager setUpdater(Updater updater) {
this.updater = updater;
return this;
}
@Override
public MockManager setRemover(Remover remover) {
this.remover = remover;
return this;
}
// @Override
// public ENTITY entityCreate() {
// return entityCreator.get();
// }
//
// @Override
// public Supplier entityCreator() {
// return entityCreator;
// }
@Override
public Class getEntityClass() {
return inner.getEntityClass();
}
@Override
public ENTITY persist(ENTITY entity) throws SpeedmentException {
return persister.apply(entity);
}
@Override
public ENTITY update(ENTITY entity) throws SpeedmentException {
return updater.apply(entity);
}
@Override
public Persister persister() {
return persister;
}
@Override
public Persister persister(HasLabelSet columns) {
throw new UnsupportedOperationException();
}
@Override
public ENTITY remove(ENTITY entity) throws SpeedmentException {
return remover.apply(entity);
}
@Override
public Remover remover() {
return remover;
}
//
// @Override
// public ENTITY entityCopy(ENTITY source) {
// return inner.entityCopy(source);
// }
@Override
public TableIdentifier getTableIdentifier() {
return inner.getTableIdentifier();
}
@Override
public Stream> fields() {
return inner.fields();
}
@Override
public Stream> primaryKeyFields() {
return inner.primaryKeyFields();
}
@Override
public Stream stream() {
return streamer.get();
}
// @Override
// public UnaryOperator entityCopier() {
// return inner.entityCopier();
// }
@Override
public Updater updater() {
return updater;
}
@Override
public Updater updater(HasLabelSet columns) {
throw new UnsupportedOperationException();
}
}