Javolution 6.0.0 java
SecurityContextImpl.java
Go to the documentation of this file.
1 /*
2  * Javolution - Java(TM) Solution for Real-Time and Embedded Systems
3  * Copyright (C) 2012 - Javolution (http://javolution.org/)
4  * All rights reserved.
5  *
6  * Permission to use, copy, modify, and distribute this software is
7  * freely granted, provided that this notice is preserved.
8  */
9 package javolution.context.internal;
10 
13 
17 public final class SecurityContextImpl extends SecurityContext {
18 
20 
21  @Override
22  public boolean isGranted(Permission<?> permission) {
23  boolean isGranted = true;
24  for (Action a : actions) {
25  if (a.permission.implies(permission))
26  isGranted = a.grant;
27  }
28  return isGranted;
29  }
30 
31  @Override
32  public void grant(Permission<?> permission, Object certificate)
33  throws SecurityException {
34  Action a = new Action();
35  a.grant = true;
36  a.permission = permission;
37  actions.add(a);
38  }
39 
40  @Override
41  public void revoke(Permission<?> permission, Object certificate)
42  throws SecurityException {
43  Action a = new Action();
44  a.grant = false;
45  a.permission = permission;
46  actions.add(a);
47  }
48 
49  @Override
50  protected SecurityContext inner() {
52  ctx.actions.addAll(actions);
53  return ctx;
54  }
55 
56  // Represents the grant/revoke action performed.
57  private static class Action {
58  boolean grant; // Else revoke.
60  }
61 }
javolution
javolution.context
Definition: AbstractContext.java:9
javolution.context.internal.SecurityContextImpl
Definition: SecurityContextImpl.java:17
javolution.context.internal.SecurityContextImpl.Action
Definition: SecurityContextImpl.java:57
javolution.context.internal.SecurityContextImpl.isGranted
boolean isGranted(Permission<?> permission)
Definition: SecurityContextImpl.java:22
javolution.context.internal.SecurityContextImpl.inner
SecurityContext inner()
Definition: SecurityContextImpl.java:50
javolution.context.internal.SecurityContextImpl.revoke
void revoke(Permission<?> permission, Object certificate)
Definition: SecurityContextImpl.java:41
javolution.context.internal.SecurityContextImpl.actions
FastTable< Action > actions
Definition: SecurityContextImpl.java:19
javolution.context.SecurityContext
Definition: SecurityContext.java:34
javolution.context.internal.SecurityContextImpl.Action.permission
Permission<?> permission
Definition: SecurityContextImpl.java:59
javolution.context.internal.SecurityContextImpl.grant
void grant(Permission<?> permission, Object certificate)
Definition: SecurityContextImpl.java:32
javolution.context.SecurityContext.Permission<?>
javolution.context.internal.SecurityContextImpl.Action.grant
boolean grant
Definition: SecurityContextImpl.java:58
javolution.util
Definition: FastBitSet.java:9
javolution.util.FastTable
Definition: FastTable.java:88