001 /**
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements. See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License. You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017 package javax.xml.bind;
018
019 import java.io.File;
020 import java.io.InputStream;
021 import java.io.Reader;
022 import java.net.URL;
023
024 import javax.xml.bind.annotation.adapters.XmlAdapter;
025 import javax.xml.bind.attachment.AttachmentUnmarshaller;
026 import javax.xml.validation.Schema;
027 import javax.xml.transform.Source;
028 import javax.xml.stream.XMLEventReader;
029 import javax.xml.stream.XMLStreamReader;
030
031 import org.w3c.dom.Node;
032
033 import org.xml.sax.InputSource;
034
035 public interface Unmarshaller {
036
037 abstract class Listener {
038 public void beforeUnmarshal(Object target, Object parent) {
039 }
040 public void afterUnmarshal(Object target, Object parent) {
041 }
042 }
043
044 <A extends XmlAdapter> A getAdapter(Class<A> type);
045
046 AttachmentUnmarshaller getAttachmentUnmarshaller();
047
048 ValidationEventHandler getEventHandler() throws JAXBException;
049
050 Listener getListener();
051
052 Object getProperty(String name) throws PropertyException;
053
054 Schema getSchema();
055
056 UnmarshallerHandler getUnmarshallerHandler();
057
058 boolean isValidating() throws JAXBException;
059
060 <A extends XmlAdapter> void setAdapter(Class<A> type, A adapter);
061
062 void setAdapter(XmlAdapter adapter);
063
064 void setAttachmentUnmarshaller(AttachmentUnmarshaller au);
065
066 void setEventHandler(ValidationEventHandler handler) throws JAXBException;
067
068 void setListener(Listener listener);
069
070 void setProperty(String name, Object value) throws PropertyException;
071
072 void setSchema(Schema schema);
073
074 void setValidating(boolean validating) throws JAXBException;
075
076 Object unmarshal(File f) throws JAXBException;
077
078 Object unmarshal(InputSource source) throws JAXBException;
079
080 Object unmarshal(InputStream is) throws JAXBException;
081
082 Object unmarshal(Node node) throws JAXBException;
083
084 <T> JAXBElement<T> unmarshal(Node node, Class<T> declaredType) throws JAXBException;
085
086 Object unmarshal(Reader reader) throws JAXBException;
087
088 Object unmarshal(Source source) throws JAXBException;
089
090 <T> JAXBElement<T> unmarshal(Source source, Class<T> declaredType) throws JAXBException;
091
092 Object unmarshal(URL url) throws JAXBException;
093
094 Object unmarshal(XMLEventReader reader) throws JAXBException;
095
096 <T> JAXBElement<T> unmarshal(XMLEventReader reader, Class<T> declaredType) throws JAXBException;
097
098 Object unmarshal(XMLStreamReader reader) throws JAXBException;
099
100 <T> JAXBElement<T> unmarshal(XMLStreamReader reader, Class<T> declaredType) throws JAXBException;
101
102 }