diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2019-04-04 16:35:27 +0200 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2019-04-04 16:35:27 +0200 |
commit | f83e2033db821695a7984577a1ee18c617fc0b55 (patch) | |
tree | 0d192897ebd99c6cbc4adf4e2cd4e9329b60b0b3 /controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/ApplicationRole.java | |
parent | 37cacaa4b1944fc4faf814d19bd01225557aa7ab (diff) |
Replace RoleMembership with a bound Role, using enum ProtoRole for declarations
Diffstat (limited to 'controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/ApplicationRole.java')
-rw-r--r-- | controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/ApplicationRole.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/ApplicationRole.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/ApplicationRole.java new file mode 100644 index 00000000000..b1018fb08a6 --- /dev/null +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/ApplicationRole.java @@ -0,0 +1,29 @@ +package com.yahoo.vespa.hosted.controller.api.role; + +import com.yahoo.config.provision.ApplicationName; +import com.yahoo.config.provision.SystemName; +import com.yahoo.config.provision.TenantName; + +/** + * A {@link Role} with a {@link Context} of a {@link SystemName} a {@link TenantName} and an {@link ApplicationName}. + * + * @author jonmv + */ +public class ApplicationRole extends Role { + + ApplicationRole(ProtoRole protoRole, SystemName system, TenantName tenant, ApplicationName application) { + super(protoRole, Context.limitedTo(tenant, application, system)); + } + + /** Returns the {@link TenantName} this is bound to. */ + public TenantName tenant() { return context.tenant().get(); } + + /** Returns the {@link ApplicationName} this is bound to. */ + public ApplicationName application() { return context.application().get(); } + + @Override + public String toString() { + return "role '" + proto() + "' of '" + application() + "' owned by '" + tenant() + "'"; + } + +} |