org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord 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) 2013, 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 javax.xml.namespace.QName;
import org.eclipse.persistence.internal.core.helper.CoreField;
import org.eclipse.persistence.internal.core.sessions.CoreAbstractSession;
import org.eclipse.persistence.internal.oxm.Marshaller;
import org.eclipse.persistence.internal.oxm.Namespace;
import org.eclipse.persistence.internal.oxm.NamespaceResolver;
import org.eclipse.persistence.internal.oxm.XPathQName;
import org.eclipse.persistence.internal.oxm.mappings.Descriptor;
import org.eclipse.persistence.internal.oxm.mappings.Field;
import org.eclipse.persistence.oxm.schema.XMLSchemaReference;
import org.w3c.dom.Node;
/**
* This class represents marshal record behaviour that is common to all XML
* platforms.
*/
public interface AbstractMarshalRecord<
ABSTRACT_SESSION extends CoreAbstractSession,
FIELD extends CoreField,
MARSHALLER extends Marshaller,
NAMESPACE_RESOLVER extends NamespaceResolver> extends XMLRecord {
public List addExtraNamespacesToNamespaceResolver(Descriptor descriptor, CoreAbstractSession session, boolean allowOverride, boolean ignoreEqualResolvers);
public boolean addXsiTypeAndClassIndicatorIfRequired(Descriptor descriptor, Descriptor referenceDescriptor, Field xmlField, boolean isRootElement);
public boolean addXsiTypeAndClassIndicatorIfRequired(Descriptor descriptor, Descriptor referenceDescriptor, Field xmlField,Object originalObject, Object obj, boolean wasXMLRoot, boolean isRootElement);
public void attribute(String namespaceURI, String localName, String qualifiedName, String value);
public void attributeWithoutQName(String namespaceURI, String localName, String prefix, String value);
public Node getDOM();
public XPathQName getLeafElementType();
public MARSHALLER getMarshaller();
public NAMESPACE_RESOLVER getNamespaceResolver();
public Object getOwningObject();
public boolean hasCustomNamespaceMapper();
public boolean hasEqualNamespaceResolvers();
/**
* Determine if namespaces will be considered during marshal/unmarshal operations.
*/
public boolean isNamespaceAware();
public boolean isXOPPackage();
public void namespaceDeclaration(String prefix, String typeUri);
public Object put(FIELD field, Object object);
public void removeExtraNamespacesFromNamespaceResolver(List extraNamespaces, CoreAbstractSession session);
public String resolveNamespacePrefix(String prefix);
public void setCustomNamespaceMapper(boolean customNamespaceMapper);
public void setEqualNamespaceResolvers(boolean equalNRs);
public void setLeafElementType(QName leafElementType);
public void setLeafElementType(XPathQName leafElementType);
public void setMarshaller(MARSHALLER marshaller);
public void setNamespaceResolver(NAMESPACE_RESOLVER namespaceResolver);
public void setOwningObject(Object owningObject);
public void setSession(ABSTRACT_SESSION session);
public void setXOPPackage(boolean isXOPPackage);
public void writeXsiTypeAttribute(Descriptor descriptor, String typeUri, String typeLocal, String typePrefix, boolean addToNamespaceResolver);
public void writeXsiTypeAttribute(Descriptor xmlDescriptor, XMLSchemaReference xmlRef, boolean addToNamespaceResolver);
}