jdk

Форк
0
/
UserSessionEvent.java 
106 строк · 3.2 Кб
1
/*
2
 * Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
 *
5
 * This code is free software; you can redistribute it and/or modify it
6
 * under the terms of the GNU General Public License version 2 only, as
7
 * published by the Free Software Foundation.  Oracle designates this
8
 * particular file as subject to the "Classpath" exception as provided
9
 * by Oracle in the LICENSE file that accompanied this code.
10
 *
11
 * This code is distributed in the hope that it will be useful, but WITHOUT
12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14
 * version 2 for more details (a copy is included in the LICENSE file that
15
 * accompanied this code).
16
 *
17
 * You should have received a copy of the GNU General Public License version
18
 * 2 along with this work; if not, write to the Free Software Foundation,
19
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
 *
21
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
 * or visit www.oracle.com if you need additional information or have any
23
 * questions.
24
 */
25

26
package java.awt.desktop;
27

28
import java.awt.Desktop;
29
import java.awt.GraphicsEnvironment;
30
import java.awt.HeadlessException;
31
import java.io.Serial;
32

33
/**
34
 * Event sent when the user session has been changed. Some systems may provide a
35
 * reason of a user session change.
36
 *
37
 * @see UserSessionListener#userSessionActivated(UserSessionEvent)
38
 * @see UserSessionListener#userSessionDeactivated(UserSessionEvent)
39
 * @since 9
40
 */
41
public final class UserSessionEvent extends AppEvent {
42

43
    /**
44
     * Use serialVersionUID from JDK 9 for interoperability.
45
     */
46
    @Serial
47
    private static final long serialVersionUID = 6747138462796569055L;
48

49
    /**
50
     * The reason of the user session change.
51
     */
52
    private final Reason reason;
53

54
    /**
55
     * Kinds of available reasons of user session change.
56
     */
57
    public static enum Reason {
58
        /**
59
         * The system does not provide a reason for a session change.
60
         */
61
        UNSPECIFIED,
62

63
        /**
64
         * The session was connected/disconnected to the console terminal.
65
         */
66
        CONSOLE,
67

68
        /**
69
         * The session was connected/disconnected to the remote terminal.
70
         */
71
        REMOTE,
72

73
        /**
74
         * The session has been locked/unlocked.
75
         */
76
        LOCK
77
    }
78

79
    /**
80
     * Constructs a {@code UserSessionEvent}.
81
     *
82
     * @param  reason the reason of the user session change
83
     * @throws HeadlessException if {@link GraphicsEnvironment#isHeadless()}
84
     *         returns {@code true}
85
     * @throws UnsupportedOperationException if Desktop API is not supported on
86
     *         the current platform
87
     * @see Desktop#isDesktopSupported()
88
     * @see java.awt.GraphicsEnvironment#isHeadless
89
     */
90
    public UserSessionEvent(Reason reason) {
91
        this.reason = reason;
92
    }
93

94
    /**
95
     * Gets a reason of the user session change.
96
     *
97
     * @return reason a reason
98
     * @see Reason#UNSPECIFIED
99
     * @see Reason#CONSOLE
100
     * @see Reason#REMOTE
101
     * @see Reason#LOCK
102
     */
103
    public Reason getReason() {
104
        return reason;
105
    }
106
}
107

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.