Class ImmutableFederatedContext.NestedImmutableFederatedContext

    • Field Detail

      • bindingsRef

        private final java.util.concurrent.atomic.AtomicReference<java.util.Map<java.lang.String,​java.lang.Object>> bindingsRef
      • pathWithSlash

        private final java.lang.String pathWithSlash
    • Constructor Detail

      • NestedImmutableFederatedContext

        public NestedImmutableFederatedContext​(java.lang.String path,
                                               java.util.Map<java.lang.String,​java.lang.Object> bindings)
                                        throws javax.naming.NamingException
        Throws:
        javax.naming.NamingException
    • Method Detail

      • createNestedSubcontext

        public javax.naming.Context createNestedSubcontext​(java.lang.String path,
                                                           java.util.Map<java.lang.String,​java.lang.Object> bindings)
                                                    throws javax.naming.NamingException
        Description copied from interface: NestedContextFactory
        Creates a nested subcontext instance. This does not cause the nested context to be bound.
        Parameters:
        path - the path to the new nested context
        bindings - the initial bindings for the context
        Returns:
        the new nested context
        Throws:
        javax.naming.NamingException - on error
      • getDeepBinding

        protected java.lang.Object getDeepBinding​(java.lang.String name)
        Description copied from class: AbstractContext
        Gets the object bound to the name. The name may contain slashes.
        Overrides:
        getDeepBinding in class AbstractFederatedContext
        Parameters:
        name - the name
        Returns:
        the object bound to the name, or null if not found
      • getWrapperBindings

        protected java.util.Map<java.lang.String,​java.lang.Object> getWrapperBindings()
                                                                                     throws javax.naming.NamingException
        Specified by:
        getWrapperBindings in class AbstractFederatedContext
        Throws:
        javax.naming.NamingException
      • addBinding

        protected boolean addBinding​(java.lang.String name,
                                     java.lang.Object value,
                                     boolean rebind)
                              throws javax.naming.NamingException
        Overrides:
        addBinding in class AbstractFederatedContext
        Throws:
        javax.naming.NamingException
      • removeBinding

        protected boolean removeBinding​(java.lang.String name,
                                        boolean removeNotEmptyContext)
                                 throws javax.naming.NamingException
        Description copied from class: AbstractContext
        Removes the binding from the context. The name will not contain a path and the value will not be a nested context although it may be a foreign context.
        Overrides:
        removeBinding in class AbstractFederatedContext
        Parameters:
        name - name under which the value should be bound
        removeNotEmptyContext - ??? TODO figure this out
        Returns:
        whether removal was successful
        Throws:
        javax.naming.NamingException - if a problem occurs during the bind such as a value already being bound