01: /**
02: * EasyBeans
03: * Copyright (C) 2006 Bull S.A.S.
04: * Contact: easybeans@ow2.org
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation; either
09: * version 2.1 of the License, or any later version.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: *
16: * You should have received a copy of the GNU Lesser General Public
17: * License along with this library; if not, write to the Free Software
18: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19: * USA
20: *
21: * --------------------------------------------------------------------------
22: * $Id: JavaNameParser.java 1970 2007-10-16 11:49:25Z benoitf $
23: * --------------------------------------------------------------------------
24: */package org.ow2.easybeans.naming.context;
25:
26: import java.util.Properties;
27:
28: import javax.naming.CompoundName;
29: import javax.naming.Name;
30: import javax.naming.NameParser;
31: import javax.naming.NamingException;
32:
33: /**
34: * Basic name parser used for java: naming space.
35: */
36: public class JavaNameParser implements NameParser {
37:
38: /**
39: * New syntax.
40: */
41: private static Properties syntax = new Properties();
42:
43: static {
44: syntax.put("jndi.syntax.direction", "left_to_right");
45: syntax.put("jndi.syntax.separator", "/");
46: syntax.put("jndi.syntax.ignorecase", "false");
47: }
48:
49: /**
50: * Parse a name into its components.
51: * @param name The non-null string name to parse.
52: * @return A non-null parsed form of the name using the naming convention of
53: * this parser.
54: * @exception NamingException If a naming exception was encountered.
55: */
56: public Name parse(final String name) throws NamingException {
57: return new CompoundName(name, syntax);
58: }
59: }
|