package org.osbl.client.item;
import org.osbl.item.AbstractItemCollector;
import org.osbl.client.action.ActionRegistry;
import org.osbl.client.action.AuthorizedAction;
import javax.swing.*;
import java.util.*;
public class ActionAuthorizationCollector
extends AbstractItemCollector
{
List<String> items;
public ActionAuthorizationCollector() {
}
public Collection<String> getItems() {
if (items == null) {
Collection<Action> actions = ActionRegistry.getActions();
items = new ArrayList<String>(actions.size());
for (Action action : actions) {
String permission = (String)action.getValue(AuthorizedAction.PERMISSION_KEY);
if (permission == null)
permission = action.getValue(Action.ACTION_COMMAND_KEY) + "[x]";
items.add(permission);
}
}
return items;
}
public void refresh() {
items = null;
}
public int hashCode() {
return getClass().hashCode();
}
public boolean equals(Object obj) {
return obj != null && getClass().equals(obj.getClass());
}
}
|