/** {@inheritDoc} */ public void bind(final String name, final Object obj) throws NamingException { bind(parseName(name), obj); }
/** {@inheritDoc} */ public void rebind(final String name, final Object object) throws NamingException { rebind(parseName(name), object); }
/** {@inheritDoc} */ public void unbind(final String name) throws NamingException { unbind(parseName(name)); }
/** {@inheritDoc} */ public NamingEnumeration<Binding> listBindings(final String name) throws NamingException { return listBindings(parseName(name)); }
/** {@inheritDoc} */ public Context createSubcontext(String name) throws NamingException { return createSubcontext(parseName(name)); }
/** {@inheritDoc} */ public void addNamingListener(final String target, final int scope, final NamingListener listener) throws NamingException { addNamingListener(parseName(target), scope, listener); }
/** {@inheritDoc} */ public NamingEnumeration<NameClassPair> list(final String name) throws NamingException { return list(parseName(name)); }
/** {@inheritDoc} */ public void destroySubcontext(String name) throws NamingException { destroySubcontext(parseName(name)); }
/** {@inheritDoc} */ public Object lookupLink(String name) throws NamingException { return lookupLink(parseName(name)); }
public Object lookup(final String name, boolean dereference) throws NamingException { return lookup(parseName(name), dereference); }
private Object resolveLink(Object result, boolean dereference) throws NamingException { final Object linkResult; try { final LinkRef linkRef = (LinkRef) result; final String referenceName = linkRef.getLinkName(); if (referenceName.startsWith("./")) { linkResult = lookup(parseName(referenceName.substring(2)) ,dereference); } else { linkResult = new InitialContext().lookup(referenceName); } } catch (Throwable t) { throw NamingLogger.ROOT_LOGGER.cannotDeferenceObject(t); } return linkResult; }
/** {@inheritDoc} */ public Name composeName(Name name, Name prefix) throws NamingException { final Name result = (Name) prefix.clone(); if (name instanceof CompositeName) { if (name.size() == 1) { // name could be a nested name final String firstComponent = name.get(0); result.addAll(parseName(firstComponent)); } else { result.addAll(name); } } else { result.addAll(new CompositeName(name.toString())); } return result; }
private void check(Name name, int actions) throws NamingException { final SecurityManager sm = System.getSecurityManager(); if (sm != null && WildFlySecurityManager.isChecking()) { // build absolute name (including store's base name) Name absoluteName = (Name) namingStore.getBaseName().clone(); if (name.isEmpty()) { absoluteName.addAll(prefix); } else { final String firstComponent = name.get(0); if (firstComponent.startsWith("java:")) { absoluteName = name; } else if (firstComponent.isEmpty()) { absoluteName.addAll(name.getSuffix(1)); } else { absoluteName.addAll(prefix); if(name instanceof CompositeName) { if (name.size() == 1) { // name could be a nested name absoluteName.addAll(parseName(firstComponent)); } else { absoluteName.addAll(name); } } else { absoluteName.addAll(new CompositeName(name.toString())); } } } sm.checkPermission(new JndiPermission(absoluteName.toString(), actions)); } }
/** {@inheritDoc} */ public NamingEnumeration<Binding> listBindings(final String name) throws NamingException { return listBindings(parseName(name)); }
/** {@inheritDoc} */ public NamingEnumeration<NameClassPair> list(final String name) throws NamingException { return list(parseName(name)); }
/** {@inheritDoc} */ public void destroySubcontext(String name) throws NamingException { destroySubcontext(parseName(name)); }
/** {@inheritDoc} */ public Object lookupLink(String name) throws NamingException { return lookupLink(parseName(name)); }
/** {@inheritDoc} */ public void destroySubcontext(String name) throws NamingException { destroySubcontext(parseName(name)); }