javacommons/security/javasrc/com/nokia/mj/impl/security/midp/common/PolicyBasedPermissionImpl.java
branchRCL_3
changeset 19 04becd199f91
child 46 4376525cdefb
--- /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();
+    }
+
+}