Class 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 Detail

      • TestAccessEvaluator

        public TestAccessEvaluator()
    • Method Detail

      • hasPermission

        public boolean hasPermission​(apex.jorje.semantic.compiler.sfdc.PlaceholderOrgPerm orgPerm)
        Specified by:
        hasPermission in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • hasPermissionForPermGuard

        public boolean hasPermissionForPermGuard​(apex.jorje.semantic.compiler.Namespace referencingNamespace,
                                                 String orgPerm)
        Specified by:
        hasPermissionForPermGuard in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • hasPersonAccountApiAvailable

        public boolean hasPersonAccountApiAvailable()
        Specified by:
        hasPersonAccountApiAvailable in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • hasPrivateApi

        public boolean hasPrivateApi()
        Specified by:
        hasPrivateApi in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • hasLocalizedTranslation

        public boolean hasLocalizedTranslation()
        Specified by:
        hasLocalizedTranslation in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • hasInternalSfdc

        public boolean hasInternalSfdc()
        Specified by:
        hasInternalSfdc in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • isTrustedApplication

        public boolean isTrustedApplication​(apex.jorje.semantic.symbol.type.TypeInfo arg0)
        Specified by:
        isTrustedApplication in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • isReservedNamespace

        public boolean isReservedNamespace​(apex.jorje.semantic.compiler.Namespace namespace)
        Specified by:
        isReservedNamespace in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • isReservedNamespace

        public boolean isReservedNamespace​(apex.jorje.semantic.compiler.Namespace namespace,
                                           boolean excludePackages)
        Specified by:
        isReservedNamespace in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • isAccessibleSystemNamespace

        public boolean isAccessibleSystemNamespace​(apex.jorje.semantic.compiler.Namespace namespace)
        Specified by:
        isAccessibleSystemNamespace in interface apex.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:
        isAccessibleOrTrustedNamespace in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • isRunningTests

        public boolean isRunningTests()
        Specified by:
        isRunningTests in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • isReallyRunningTests

        public boolean isReallyRunningTests()
        Specified by:
        isReallyRunningTests in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • isSfdc

        public boolean isSfdc()
        Specified by:
        isSfdc in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • hasApexParameterizedTypes

        public boolean hasApexParameterizedTypes()
        Specified by:
        hasApexParameterizedTypes in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • isValidPackageVersion

        public boolean isValidPackageVersion​(apex.jorje.semantic.compiler.Namespace namespace,
                                             apex.jorje.semantic.compiler.StructuredVersion version)
        Specified by:
        isValidPackageVersion in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • isManagedPackageInstalled

        public boolean isManagedPackageInstalled​(apex.jorje.semantic.compiler.Namespace namespace)
        Specified by:
        isManagedPackageInstalled in interface apex.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:
        isSetupEntityVisibleToType in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • hasConnectDeserializer

        public boolean hasConnectDeserializer​(apex.jorje.semantic.symbol.type.TypeInfo type)
        Specified by:
        hasConnectDeserializer in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • hasRemoteAction

        public boolean hasRemoteAction​(apex.jorje.semantic.symbol.type.TypeInfo type)
        Specified by:
        hasRemoteAction in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • hasRemoteActionPerm

        public boolean hasRemoteActionPerm()
        Specified by:
        hasRemoteActionPerm in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • isGlobalComponent

        public boolean isGlobalComponent​(apex.jorje.semantic.symbol.type.TypeInfo type)
        Specified by:
        isGlobalComponent in interface apex.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)
      • setIsTrustedApplication

        public TestAccessEvaluator setIsTrustedApplication​(boolean isTrustedApplication)
      • setHasLocalizedTranslation

        public TestAccessEvaluator setHasLocalizedTranslation​(boolean hasLocalizedTranslation)
      • 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.
      • setGlobalComponent

        public void setGlobalComponent​(String globalComponent)
      • isSecondGenerationPackagingNamespace

        public boolean isSecondGenerationPackagingNamespace​(apex.jorje.semantic.compiler.Namespace namespace)
        Specified by:
        isSecondGenerationPackagingNamespace in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • useTestValueForAnonymousScriptLengthLimit

        public boolean useTestValueForAnonymousScriptLengthLimit()
        Specified by:
        useTestValueForAnonymousScriptLengthLimit in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator
      • hasNamespaceGuardedAccess

        public boolean hasNamespaceGuardedAccess​(apex.jorje.semantic.compiler.Namespace namespace,
                                                 String arg1)
        Specified by:
        hasNamespaceGuardedAccess in interface apex.jorje.semantic.compiler.sfdc.AccessEvaluator