001 /*
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements. See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership. The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License. You may obtain a copy of the License at
009 *
010 * http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing,
013 * software distributed under the License is distributed on an
014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 * KIND, either express or implied. See the License for the
016 * specific language governing permissions and limitations
017 * under the License.
018 */
019
020 package javax.xml.rpc.encoding;
021
022 /**
023 * The javax.xml.rpc.encoding.DeserializerFactory is a factory of
024 * deserializers. A DeserializerFactory is registered with a
025 * TypeMapping instance as part of the TypeMappingRegistry.
026 *
027 * @version $Rev: 467553 $ $Date: 2006-10-25 00:01:51 -0400 (Wed, 25 Oct 2006) $
028 */
029 public interface DeserializerFactory extends java.io.Serializable {
030
031 /**
032 * Returns a Deserializer for the specified XML processing mechanism type.
033 *
034 * @param mechanismType XML processing mechanism type [TBD: definition of
035 * valid constants]
036 *
037 * @return a Deserializer for the specified XML processing mechanism type
038 *
039 * @throws javax.xml.rpc.JAXRPCException if DeserializerFactory does not
040 * support the specified XML processing mechanism
041 */
042 public Deserializer getDeserializerAs(String mechanismType);
043
044 /**
045 * Returns an <code>Iterator</code> over the list of all XML processing
046 * mechanism types supported by this <code>DeserializerFactory</code>.
047 *
048 * @return an <code>Iterator</code> over the unique identifiers for the
049 * supported XML processing mechanism types (as
050 * <code>String</code>s?)
051 */
052 public java.util.Iterator getSupportedMechanismTypes();
053 }
054