summaryrefslogtreecommitdiffstats
path: root/tags/java/sca/2.0-M3-RC1/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ConversationAttributes.java
blob: 498cc3eea3931557c6a6e67f157f7c8bd77c7bc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/*
 * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies,
 * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase
 * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved.
 * 
 * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications
 */
package org.oasisopen.sca.annotation;

import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**
 * Annotation used to indicate the characteristics of a conversation.
 *
 * @version $Rev$ $Date$
 */
@Target(ElementType.TYPE)
@Retention(RUNTIME)
public @interface ConversationAttributes {
    /**
     * The maximum time that can pass between operations in a single conversation. If this time is exceeded the
     * container may end the conversation.
     *
     * @return the maximum time that can pass between operations in a single conversation
     */
    String maxIdleTime() default "";

    /**
     * The maximum time that a conversation may remain active. If this time is exceeded the container may end the
     * conversation.
     *
     * @return the maximum time that a conversation may remain active
     */
    String maxAge() default "";

    /**
     * If true, indicates that only the user that initiated the conversation has the authority to continue it.
     *
     * @return true if only the user that initiated the conversation has the authority to continue it
     */
    boolean singlePrincipal() default false;
}