org.plasma.sdo.annotation.Key Maven / Gradle / Ivy
//==============================================================================
//
// This software artifact was generated using Plasma
// provisioning tools. Do not modify.
//
//==============================================================================
package org.plasma.sdo.annotation;
import org.plasma.sdo.profile.KeyType;
import org.plasma.sdo.profile.KeyStructure;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import org.atteo.classindex.IndexAnnotated;
/**
*
* This stereotype tags or annotates a UML property as representing some type of key within a data store, data transfer or transient storage medium.
*
* @author Plasma-Team
* @version 2.0.1
*/
@Retention(RetentionPolicy.RUNTIME)
@IndexAnnotated
public @interface Key{
/**
* Specifies the type of key
*/
public KeyType type();
/**
* Used to associate one or more properties within a class under a single grouping or category.
*/
public String group() default "";
/**
* An identifier which denotes the ordering of the property witin a key. Not an indicator related to key structure. See KeyStructure
*/
public int sequence() default 0;
/**
* Whether a key is automatically generated and maintained
*/
public boolean auto() default false;
/**
* Indicates the key arrangement or organization
*/
public KeyStructure structure() default KeyStructure.general;
/**
* Links a property element which supplies the actual data for the key where multiple possible targets exist. Where a key property is a reference SDO property and the target entity has multiple primary keys, the supplier is used by services to disambiguate which target key actually supplies the data.
*/
}