javacommons/security/javasrc/com/nokia/mj/impl/security/midp/common/PolicyBasedPermissionImpl.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/javacommons/security/javasrc/com/nokia/mj/impl/security/midp/common/PolicyBasedPermissionImpl.java Tue Apr 27 16:30:29 2010 +0300
@@ -0,0 +1,102 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.mj.impl.security.midp.common;
+
+import com.nokia.mj.impl.security.common.PermissionBase;
+
+/**
+ * It defines three types of permissions: user permission, allowed or
+ * assigned permissions
+ */
+public class PolicyBasedPermissionImpl
+ extends UserPermission
+ implements PolicyBasedPermission
+{
+ private int type;
+
+ public PolicyBasedPermissionImpl(
+ String name,
+ String target,
+ String actionList,
+ UserSecuritySettings userSettings,
+ PermissionBase securityPromptDetails)
+ {
+ super(name, target, actionList, userSettings, securityPromptDetails);
+
+ this.type = USER_TYPE;
+ }
+
+ public PolicyBasedPermissionImpl(PolicyBasedPermission p)
+ {
+ this(p.getName(), p.getTarget(), p.getActionList(),
+ (p.getUserSecuritySettings() != null ?
+ new UserSecuritySettingsImpl(p.getUserSecuritySettings().getName(),
+ p.getUserSecuritySettings().getCurrentInteractionMode(),
+ p.getUserSecuritySettings().getAllowedInteractionModes()) : null),
+ null);
+ }
+
+ public PolicyBasedPermissionImpl(
+ String name,
+ String target,
+ String actionList,
+ UserSecuritySettings userSettings)
+ {
+ this(name, target, actionList, userSettings, null);
+ }
+
+
+ public PolicyBasedPermissionImpl(
+ String name,
+ String target,
+ String actionList,
+ int type)
+ {
+ super(name, target, actionList, null);
+
+ // Check type
+ this.type = type;
+ }
+
+ public int getType()
+ {
+ return type;
+ }
+
+ public boolean equals(Object o)
+ {
+ if (!(o instanceof PolicyBasedPermissionImpl))
+ {
+ return false;
+ }
+ if (this == o)
+ {
+ return true;
+ }
+ PolicyBasedPermissionImpl p = (PolicyBasedPermissionImpl)o;
+ return (super.equals((UserPermission)o));
+ }
+
+ public String toString()
+ {
+ StringBuffer sb = new StringBuffer();
+ sb.append(" Permission type:" + type);
+ return super.toString() + sb.toString();
+ }
+
+}