Class TestAccessEvaluator
- java.lang.Object
-
- net.sourceforge.pmd.lang.apex.ast.TestAccessEvaluator
-
- All Implemented Interfaces:
apex.jorje.semantic.compiler.sfdc.AccessEvaluator
public class TestAccessEvaluator extends Object implements apex.jorje.semantic.compiler.sfdc.AccessEvaluator
For now everything returns false. If you actually need to override something, it would be easier to probably mock and adjust what you needed. Otherwise this is simply to create a concrete representation and not force a mockito init.- Author:
- jspagnola
-
-
Constructor Summary
Constructors Constructor Description TestAccessEvaluator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TestAccessEvaluatoraddManagedPackageNotInstalled(apex.jorje.semantic.compiler.Namespace namespace)Things isManagedPackageInstalled will say 'false' to.TestAccessEvaluatoraddPermission(apex.jorje.semantic.compiler.sfdc.PlaceholderOrgPerm orgPerm)TestAccessEvaluatoraddReservedNamespace(apex.jorje.semantic.compiler.Namespace namespace)TestAccessEvaluatoraddSetupEntityVisibleToType(apex.jorje.semantic.symbol.type.SObjectTypeInfo type, String typeName)TestAccessEvaluatoraddValidPackageVersion(apex.jorje.semantic.compiler.Namespace namespace, apex.jorje.semantic.compiler.StructuredVersion version)TestAccessEvaluatorallowPermGuard(apex.jorje.semantic.compiler.Namespace namespace, String permGuard)booleanhasApexParameterizedTypes()booleanhasConnectDeserializer(apex.jorje.semantic.symbol.type.TypeInfo type)booleanhasInternalSfdc()booleanhasLocalizedTranslation()booleanhasNamespaceGuardedAccess(apex.jorje.semantic.compiler.Namespace namespace, String arg1)booleanhasPermission(apex.jorje.semantic.compiler.sfdc.PlaceholderOrgPerm orgPerm)booleanhasPermissionForPermGuard(apex.jorje.semantic.compiler.Namespace referencingNamespace, String orgPerm)booleanhasPersonAccountApiAvailable()booleanhasPrivateApi()booleanhasRemoteAction(apex.jorje.semantic.symbol.type.TypeInfo type)booleanhasRemoteActionPerm()booleanisAccessibleOrTrustedNamespace(apex.jorje.semantic.compiler.Namespace namespace)Okay so this check and its partner isAccessibleSystemNamespace are used slightly differently.booleanisAccessibleSystemNamespace(apex.jorje.semantic.compiler.Namespace namespace)booleanisGlobalComponent(apex.jorje.semantic.symbol.type.TypeInfo type)booleanisManagedPackageInstalled(apex.jorje.semantic.compiler.Namespace namespace)booleanisReallyRunningTests()booleanisReservedNamespace(apex.jorje.semantic.compiler.Namespace namespace)booleanisReservedNamespace(apex.jorje.semantic.compiler.Namespace namespace, boolean excludePackages)booleanisRunningTests()booleanisSecondGenerationPackagingNamespace(apex.jorje.semantic.compiler.Namespace namespace)booleanisSetupEntityVisibleToType(apex.jorje.semantic.symbol.type.SObjectTypeInfo type, apex.jorje.semantic.symbol.type.TypeInfo referencingType)booleanisSfdc()booleanisTrustedApplication(apex.jorje.semantic.symbol.type.TypeInfo arg0)booleanisValidPackageVersion(apex.jorje.semantic.compiler.Namespace namespace, apex.jorje.semantic.compiler.StructuredVersion version)TestAccessEvaluatorsetAccessibleSystemNamespace(apex.jorje.semantic.compiler.Namespace namespace)voidsetGlobalComponent(String globalComponent)TestAccessEvaluatorsetHasApexGenericType(boolean hasApexGenericTypes)TestAccessEvaluatorsetHasInternalSfdc(boolean hasInternalSfdc)TestAccessEvaluatorsetHasLocalizedTranslation(boolean hasLocalizedTranslation)TestAccessEvaluatorsetHasPrivateApi(boolean hasPrivateApi)TestAccessEvaluatorsetHasRemoteActionPerm(boolean hasRemoteActionPerm)It appears that remote action is enabled by default in most orgs, at least test orgs.TestAccessEvaluatorsetIsReallyRunningTests(boolean isReallyRunningTests)TestAccessEvaluatorsetIsRunningTests(boolean isRunningTests)TestAccessEvaluatorsetIsSfdc(boolean isSfdc)TestAccessEvaluatorsetIsTrustedApplication(boolean isTrustedApplication)TestAccessEvaluatorsetTypeWithConnectApiDeserializer(String typeName)booleanuseTestValueForAnonymousScriptLengthLimit()
-
-
-
Method Detail
-
hasPermission
public boolean hasPermission(apex.jorje.semantic.compiler.sfdc.PlaceholderOrgPerm orgPerm)
- Specified by:
hasPermissionin interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
hasPermissionForPermGuard
public boolean hasPermissionForPermGuard(apex.jorje.semantic.compiler.Namespace referencingNamespace, String orgPerm)- Specified by:
hasPermissionForPermGuardin interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
hasPersonAccountApiAvailable
public boolean hasPersonAccountApiAvailable()
- Specified by:
hasPersonAccountApiAvailablein interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
hasPrivateApi
public boolean hasPrivateApi()
- Specified by:
hasPrivateApiin interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
hasLocalizedTranslation
public boolean hasLocalizedTranslation()
- Specified by:
hasLocalizedTranslationin interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
hasInternalSfdc
public boolean hasInternalSfdc()
- Specified by:
hasInternalSfdcin interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
isTrustedApplication
public boolean isTrustedApplication(apex.jorje.semantic.symbol.type.TypeInfo arg0)
- Specified by:
isTrustedApplicationin interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
isReservedNamespace
public boolean isReservedNamespace(apex.jorje.semantic.compiler.Namespace namespace)
- Specified by:
isReservedNamespacein interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
isReservedNamespace
public boolean isReservedNamespace(apex.jorje.semantic.compiler.Namespace namespace, boolean excludePackages)- Specified by:
isReservedNamespacein interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
isAccessibleSystemNamespace
public boolean isAccessibleSystemNamespace(apex.jorje.semantic.compiler.Namespace namespace)
- Specified by:
isAccessibleSystemNamespacein interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
isAccessibleOrTrustedNamespace
public boolean isAccessibleOrTrustedNamespace(apex.jorje.semantic.compiler.Namespace namespace)
Okay so this check and its partner isAccessibleSystemNamespace are used slightly differently. This is like a black list check, that prevents referencing code from seeing things in a reserved namespace. The other check allows code to see certain things if the code's namespace is a reserved namespace.Hence here we return true by default, and the
isAccessibleSystemNamespace(Namespace)returns false by default.- Specified by:
isAccessibleOrTrustedNamespacein interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
isRunningTests
public boolean isRunningTests()
- Specified by:
isRunningTestsin interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
isReallyRunningTests
public boolean isReallyRunningTests()
- Specified by:
isReallyRunningTestsin interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
isSfdc
public boolean isSfdc()
- Specified by:
isSfdcin interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
hasApexParameterizedTypes
public boolean hasApexParameterizedTypes()
- Specified by:
hasApexParameterizedTypesin interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
isValidPackageVersion
public boolean isValidPackageVersion(apex.jorje.semantic.compiler.Namespace namespace, apex.jorje.semantic.compiler.StructuredVersion version)- Specified by:
isValidPackageVersionin interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
isManagedPackageInstalled
public boolean isManagedPackageInstalled(apex.jorje.semantic.compiler.Namespace namespace)
- Specified by:
isManagedPackageInstalledin interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator- Returns:
- 'true' for everything EXCEPT namespaces you've added through
addManagedPackageNotInstalled(Namespace)
-
isSetupEntityVisibleToType
public boolean isSetupEntityVisibleToType(apex.jorje.semantic.symbol.type.SObjectTypeInfo type, apex.jorje.semantic.symbol.type.TypeInfo referencingType)- Specified by:
isSetupEntityVisibleToTypein interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
hasConnectDeserializer
public boolean hasConnectDeserializer(apex.jorje.semantic.symbol.type.TypeInfo type)
- Specified by:
hasConnectDeserializerin interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
hasRemoteAction
public boolean hasRemoteAction(apex.jorje.semantic.symbol.type.TypeInfo type)
- Specified by:
hasRemoteActionin interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
hasRemoteActionPerm
public boolean hasRemoteActionPerm()
- Specified by:
hasRemoteActionPermin interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
isGlobalComponent
public boolean isGlobalComponent(apex.jorje.semantic.symbol.type.TypeInfo type)
- Specified by:
isGlobalComponentin interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
addManagedPackageNotInstalled
public TestAccessEvaluator addManagedPackageNotInstalled(apex.jorje.semantic.compiler.Namespace namespace)
Things isManagedPackageInstalled will say 'false' to.
-
addReservedNamespace
public TestAccessEvaluator addReservedNamespace(apex.jorje.semantic.compiler.Namespace namespace)
-
addPermission
public TestAccessEvaluator addPermission(apex.jorje.semantic.compiler.sfdc.PlaceholderOrgPerm orgPerm)
-
setHasInternalSfdc
public TestAccessEvaluator setHasInternalSfdc(boolean hasInternalSfdc)
-
addValidPackageVersion
public TestAccessEvaluator addValidPackageVersion(apex.jorje.semantic.compiler.Namespace namespace, apex.jorje.semantic.compiler.StructuredVersion version)
-
addSetupEntityVisibleToType
public TestAccessEvaluator addSetupEntityVisibleToType(apex.jorje.semantic.symbol.type.SObjectTypeInfo type, String typeName)
-
setIsRunningTests
public TestAccessEvaluator setIsRunningTests(boolean isRunningTests)
-
setHasPrivateApi
public TestAccessEvaluator setHasPrivateApi(boolean hasPrivateApi)
-
setIsTrustedApplication
public TestAccessEvaluator setIsTrustedApplication(boolean isTrustedApplication)
-
setHasLocalizedTranslation
public TestAccessEvaluator setHasLocalizedTranslation(boolean hasLocalizedTranslation)
-
setIsSfdc
public TestAccessEvaluator setIsSfdc(boolean isSfdc)
-
setIsReallyRunningTests
public TestAccessEvaluator setIsReallyRunningTests(boolean isReallyRunningTests)
-
setAccessibleSystemNamespace
public TestAccessEvaluator setAccessibleSystemNamespace(apex.jorje.semantic.compiler.Namespace namespace)
-
setHasApexGenericType
public TestAccessEvaluator setHasApexGenericType(boolean hasApexGenericTypes)
-
allowPermGuard
public TestAccessEvaluator allowPermGuard(apex.jorje.semantic.compiler.Namespace namespace, String permGuard)
-
setHasRemoteActionPerm
public TestAccessEvaluator setHasRemoteActionPerm(boolean hasRemoteActionPerm)
It appears that remote action is enabled by default in most orgs, at least test orgs. So we will behave the same.
-
setTypeWithConnectApiDeserializer
public TestAccessEvaluator setTypeWithConnectApiDeserializer(String typeName)
-
setGlobalComponent
public void setGlobalComponent(String globalComponent)
-
isSecondGenerationPackagingNamespace
public boolean isSecondGenerationPackagingNamespace(apex.jorje.semantic.compiler.Namespace namespace)
- Specified by:
isSecondGenerationPackagingNamespacein interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
useTestValueForAnonymousScriptLengthLimit
public boolean useTestValueForAnonymousScriptLengthLimit()
- Specified by:
useTestValueForAnonymousScriptLengthLimitin interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
hasNamespaceGuardedAccess
public boolean hasNamespaceGuardedAccess(apex.jorje.semantic.compiler.Namespace namespace, String arg1)- Specified by:
hasNamespaceGuardedAccessin interfaceapex.jorje.semantic.compiler.sfdc.AccessEvaluator
-
-