Skip to content

Instantly share code, notes, and snippets.

@nicolopignatelli
Created February 5, 2018 11:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nicolopignatelli/f5d460e8ecb99e83a6b9e6240457036f to your computer and use it in GitHub Desktop.
Save nicolopignatelli/f5d460e8ecb99e83a6b9e6240457036f to your computer and use it in GitHub Desktop.
package com.mywonderfulbnb.bnb.definition
final class ActivatedOwnerNotFound extends Exception {
private OwnerId ownerId;
public ActivatedOwnerNotFound(OwnerId ownerId) {
this.ownerId = ownerId;
}
}
package com.mywonderfulbnb.bnb.definition
interface ActivatedOwners {
bool existsOneWithId(OwnerId ownerId);
}
package com.mywonderfulbnb.bnb.definition
final class Service {
private ActivatedOwners activatedOwners;
public Service(ActivatedOwners activatedOwners) {
this.activatedOwners = activatedOwners;
}
public addBnb(UUID ownerUuid, UUID bnbUuid, String nameStr) {
ownerId = new OwnerId(ownerUuid);
bnbId = new BnbId(bnbUuid);
name = new Name(nameStr);
assertOwnerIsActivated(ownerId);
}
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