Skip to content

Instantly share code, notes, and snippets.

Last active Feb 18, 2018
What would you like to do?
package com.mywonderfulbnb.bnb.definition
final class Bnb {
private BnbId bnbId;
private OwnerId ownerId;
private Name name;
public Bnb(BnbId bnbId, OwnerId ownerId, Name name) {
this.bnbId = bnbId;
this.ownerId = ownerId; = name;
package com.mywonderfulbnb.bnb.definition
interface Bnbs {
void save(Bnb bnb);
package com.mywonderfulbnb.bnb.definition
final class Service {
private Bnbs Bnbs;
private ActivatedOwners activatedOwners;
public Service(Bnbs bnbs, ActivatedOwners activatedOwners) {
this.bnbs = bnbs;
this.activatedOwners = activatedOwners;
public addBnb(UUID ownerUuid, UUID bnbUuid, String nameStr) {
ownerId = new OwnerId(ownerUuid);
bnbId = new BnbId(bnbUuid);
name = new Name(nameStr);
bnb = new Bnb(bnbUuid, ownerId, name);;
private assertOwnerIsActivated(OwnerId ownerId) {
itExists = activatedOwners.existsOneWithId(ownerId);
if (!itExists) {
throw new ActivatedOwnerNotFound(ownerId);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment