blob: 31a59b687e5c4bb1c77456aa8e868dc327ed5110 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2011 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Oracle - initial API and implementation
*******************************************************************************/
package org.eclipse.jpt.jaxb.eclipselink.core.context.java;
import org.eclipse.jpt.jaxb.core.context.XmlNamedNodeMapping;
/**
* Common interface for ELXmlElementMapping and ELXmlAttributeMapping
*
* Provisional API: This interface is part of an interim API that is still
* under development and expected to change significantly before reaching
* stability. It is available at this early stage to solicit feedback from
* pioneering adopters on the understanding that any code that uses this API
* will almost certainly be broken (repeatedly) as the API evolves.
*
* @version 3.2
* @since 3.2
*/
public interface ELXmlNamedNodeMapping
extends XmlNamedNodeMapping, ELXmlPathMapping {
// ***** XmlKey *****
/**
* String associated with changes to the xmlKey property
*/
String XML_KEY_PROPERTY = "xmlKey"; ///$NON-NLS-1$
/**
* Return the xmlKey property value.
* A null indicates it is not specified.
*/
ELXmlKey getXmlKey();
/**
* Add (and return) an xmlKey property value.
* (Specifies the property)
*/
ELXmlKey addXmlKey();
/**
* Remove the xmlKey property value.
* (Unspecifies the property)
*/
void removeXmlKey();
// ***** misc *****
/**
* Return an XPath to represent this attribute mapping.
* Return <code>null</code> if no valid XPath can be constructed.
* (Trivial if this mapping has an XmlPath annotation)
*/
String getXPath();
}