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 java.lang.Object implements apex.jorje.semantic.compiler.sfdc.AccessEvaluatorFor 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, java.lang.String typeName)TestAccessEvaluatoraddValidPackageVersion(apex.jorje.semantic.compiler.Namespace namespace, apex.jorje.semantic.compiler.StructuredVersion version)TestAccessEvaluatorallowPermGuard(apex.jorje.semantic.compiler.Namespace namespace, java.lang.String permGuard)booleanhasApexParameterizedTypes()booleanhasConnectDeserializer(apex.jorje.semantic.symbol.type.TypeInfo type)booleanhasInternalSfdc()booleanhasLocalizedTranslation()booleanhasPermission(apex.jorje.semantic.compiler.sfdc.PlaceholderOrgPerm orgPerm)booleanhasPermissionForPermGuard(apex.jorje.semantic.compiler.Namespace referencingNamespace, java.lang.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()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(java.lang.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(java.lang.String typeName)
-
-
-
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, java.lang.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, java.lang.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, java.lang.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(java.lang.String typeName)
-
setGlobalComponent
public void setGlobalComponent(java.lang.String globalComponent)
-
-