1 /* 2 * 3 * Copyright 2001-2004 The Apache Software Foundation. 4 * 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 * 18 * 19 */ 20 package org.apache.beehive.wsm.databinding; 21 22 23 import javax.xml.namespace.QName; 24 25 /* 26 * There are varieties of XML-Java binding (XMLBeans, Axis, Castor, etc) 27 * implementations, each with its own nuances. 28 * The TypeLookUpServices interface is intended to abstract the particular 29 * implementations strategy. 30 * 31 * The qname to class mappings must be predictable. So that for a given 32 * class: 33 * classA = qname2Class(class2qname(ClassA) 34 * 35 * And for a given QName: 36 * qnameA = class2qname(qname2class(qnameA) 37 */ 38 public interface BindingLookupService { 39 public abstract QName class2qname(Class cls); 40 public QName class2qname(Class cls, String namespace); 41 public Class qname2class(QName qname); 42 } 43