org.eclipse.persistence.internal.oxm.record.UnmarshalRecord Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of org.eclipse.persistence.core Show documentation
Show all versions of org.eclipse.persistence.core Show documentation
EclipseLink build based upon Git transaction ecdf3c32c4
/*
* Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Blaise Doughan - 2.5 - initial implementation
package org.eclipse.persistence.internal.oxm.record;
import java.util.List;
import java.util.Map;
import javax.xml.namespace.QName;
import org.eclipse.persistence.core.queries.CoreAttributeGroup;
import org.eclipse.persistence.internal.core.helper.CoreField;
import org.eclipse.persistence.internal.core.sessions.CoreAbstractSession;
import org.eclipse.persistence.internal.oxm.ContainerValue;
import org.eclipse.persistence.internal.oxm.IDResolver;
import org.eclipse.persistence.internal.oxm.NodeValue;
import org.eclipse.persistence.internal.oxm.NullCapableValue;
import org.eclipse.persistence.internal.oxm.ObjectBuilder;
import org.eclipse.persistence.internal.oxm.Reference;
import org.eclipse.persistence.internal.oxm.ReferenceResolver;
import org.eclipse.persistence.internal.oxm.Root;
import org.eclipse.persistence.internal.oxm.SAXFragmentBuilder;
import org.eclipse.persistence.internal.oxm.Unmarshaller;
import org.eclipse.persistence.internal.oxm.XPathFragment;
import org.eclipse.persistence.internal.oxm.XPathNode;
import org.eclipse.persistence.internal.oxm.XPathQName;
import org.eclipse.persistence.internal.oxm.mappings.Descriptor;
import org.eclipse.persistence.internal.oxm.mappings.Mapping;
import org.eclipse.persistence.internal.oxm.record.namespaces.UnmarshalNamespaceResolver;
import org.eclipse.persistence.internal.oxm.unmapped.DefaultUnmappedContentHandler;
import org.eclipse.persistence.internal.oxm.unmapped.UnmappedContentHandler;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.ext.LexicalHandler;
/**
* This class represents unmarshal record behaviour that is specific to the SAX
* platform.
*/
public interface UnmarshalRecord<
ABSTRACT_SESSION extends CoreAbstractSession,
FIELD extends CoreField,
ID_RESOLVER extends IDResolver,
OBJECT_BUILDER extends ObjectBuilder,
TRANSFORMATION_RECORD extends TransformationRecord,
UNMARSHALLER extends Unmarshaller> extends AbstractUnmarshalRecord, ExtendedContentHandler, LexicalHandler {
public static final UnmappedContentHandler DEFAULT_UNMAPPED_CONTENT_HANDLER = new DefaultUnmappedContentHandler();
public void addAttributeValue(ContainerValue containerValue, Object value);
public void addAttributeValue(ContainerValue containerValue, Object value, Object collection);
public Root createRoot();
public void endUnmappedElement(String uri, String localName, String name) throws SAXException;
public NodeValue getAttributeChildNodeValue(String namespace, String localName);
public Attributes getAttributes();
public CharSequence getCharacters();
public UnmarshalRecord getChildRecord();
public UnmarshalRecord getChildUnmarshalRecord(OBJECT_BUILDER targetObjectBuilder);
public Object getContainerInstance(ContainerValue containerValue);
public Object getContainerInstance(ContainerValue containerValue, boolean b);
public Object getCurrentObject();
public Descriptor getDescriptor();
/**
* Gets the encoding for this document. Only set on the root-level UnmarshalRecord
* @return a String representing the encoding for this doc
*/
public String getEncoding();
public SAXFragmentBuilder getFragmentBuilder();
public XPathQName getLeafElementType();
public int getLevelIndex();
public String getLocalName();
public String getNoNamespaceSchemaLocation();
public XPathNode getNonAttributeXPathNode(String namespaceURI, String localName, String qName, Attributes attributes);
public List getNullCapableValues();
public org.eclipse.persistence.internal.oxm.record.UnmarshalRecord getParentRecord();
public Map getPrefixesForFragment();
public ReferenceResolver getReferenceResolver();
public String getRootElementName();
public String getRootElementNamespaceUri();
public String getSchemaLocation();
public XPathFragment getTextWrapperFragment();
public TRANSFORMATION_RECORD getTransformationRecord();
public QName getTypeQName();
public UnmarshalContext getUnmarshalContext();
public UNMARSHALLER getUnmarshaller();
public UnmarshalNamespaceResolver getUnmarshalNamespaceResolver();
/**
* Gets the XML Version for this document. Only set on the root-level
* UnmarshalRecord, if supported by the parser.
*/
public String getVersion();
public XMLReader getXMLReader();
public XPathNode getXPathNode();
public UnmarshalRecord initialize(OBJECT_BUILDER objectBuilder);
public void initializeRecord(Mapping mapping) throws SAXException;
public boolean isBufferCDATA();
public boolean isNil();
public boolean isSelfRecord();
public void reference(Reference reference);
public void removeNullCapableValue(NullCapableValue nullCapableValue);
public void resetStringBuffer();
public String resolveNamespaceUri(String namespaceURI);
public void resolveReferences(ABSTRACT_SESSION session, ID_RESOLVER idResolver);
public void setAttributes(Attributes atts);
public void setAttributeValue(Object object, Mapping mapping);
public void setAttributeValueNull(ContainerValue containerValue);
public void setChildRecord(UnmarshalRecord unmarshalRecord);
public void setContainerInstance(int index, Object containerInstance);
public void setCurrentObject(Object object);
public void setFragmentBuilder(SAXFragmentBuilder fragmentBuilder);
public void setLeafElementType(QName leafElementType);
public void setLocalName(String localName);
public void setNil(boolean isNil);
public void setParentRecord(UnmarshalRecord unmarshalRecord);
public void setReferenceResolver(ReferenceResolver referenceResolver);
public void setRootElementName(String rootElementName);
public void setRootElementNamespaceUri(String rootElementNamespaceUri);
public void setSelfRecord(boolean isSelfRecord);
public void setSession(ABSTRACT_SESSION session);
public void setTextWrapperFragment(XPathFragment textWrapperFragment);
public void setTransformationRecord(TRANSFORMATION_RECORD transformationRecord);
public void setTypeQName(QName qname);
public void setUnmarshalContext(UnmarshalContext unmarshalContext);
public void setUnmarshaller(UNMARSHALLER unmarshaller);
public void setUnmarshalNamespaceResolver(UnmarshalNamespaceResolver unmarshalNamespaceResolver);
public void setXMLReader(XMLReader xmlReader);
public void unmappedContent();
public CoreAttributeGroup getUnmarshalAttributeGroup();
public void setUnmarshalAttributeGroup(CoreAttributeGroup group);
}