blob: eec8114ef9bf7442194544dc694cbe034f3fdc19 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009 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.core.jpa2.context;
import org.eclipse.jpt.core.context.JpaContextNode;
/**
* 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.0
* @since 3.0
*/
public interface DerivedIdentity2_0
extends JpaContextNode
{
SingleRelationshipMapping2_0 getMapping();
/**
* String associated with changes to the predominant strategy property
*/
final static String PREDOMINANT_DERIVED_IDENTITY_STRATEGY_PROPERTY =
"predominantDerivedIdentityStrategy"; //$NON-NLS-1$
/**
* Return the predominant joining strategy, this should not be null
*/
DerivedIdentityStrategy2_0 getPredominantDerivedIdentityStrategy();
/**
* Return whether there is no derived identity strategy
*/
boolean usesNullDerivedIdentityStrategy();
/**
* Sets it so that there is no derived identity strategy. This will unset all other strategies.
*/
void setNullDerivedIdentityStrategy();
/**
* Return the aggregate (never null) id strategy
*/
IdDerivedIdentityStrategy2_0 getIdDerivedIdentityStrategy();
/**
* Return whether id is the strategy currently used by this object
*/
boolean usesIdDerivedIdentityStrategy();
/**
* Sets the id derived identity strategy. This will unset all other strategies.
*/
void setIdDerivedIdentityStrategy();
/**
* Unsets the id derived identity strategy.
* This will not set any other strategy, so whichever other strategy is present (or the null strategy)
* will apply at that point.
*/
void unsetIdDerivedIdentityStrategy();
/**
* Return the aggregate (never null) maps id derived identity strategy
*/
MapsIdDerivedIdentityStrategy2_0 getMapsIdDerivedIdentityStrategy();
/**
* Return whether maps id is the strategy currently used by this object
*/
boolean usesMapsIdDerivedIdentityStrategy();
/**
* Sets the maps id derived identity strategy. This will unset all other strategies.
*/
void setMapsIdDerivedIdentityStrategy();
/**
* Unsets the maps id derived identity strategy.
* This will not set any other strategy, so whichever other strategy is present (or the null strategy)
* will apply at that point.
*/
void unsetMapsIdDerivedIdentityStrategy();
}