/**
* Copyright (c) 2016, All Contributors (see CONTRIBUTORS file)
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package com.eventsourcing;
import lombok.Getter;
import lombok.experimental.Accessors;
import java.util.Optional;
import java.util.UUID;
/**
* Entity handle implementation that uses journal to access the entity
* @param <T>
*/
public class JournalEntityHandle<T extends Entity> implements EntityHandle<T> {
@Getter @Accessors(fluent = true)
private final UUID uuid;
private final Journal journal;
public JournalEntityHandle(Journal journal, UUID uuid) {
this.journal = journal;
this.uuid = uuid;
}
@Override public Optional<T> getOptional() {
return journal.get(uuid);
}
}