001/**
002 */
003package org.nasdanika.models.gitlab;
004
005import java.util.Date;
006
007/**
008 * <!-- begin-user-doc -->
009 * A representation of the model object '<em><b>Member</b></em>'.
010 * <!-- end-user-doc -->
011 *
012 * <p>
013 * The following features are supported:
014 * </p>
015 * <ul>
016 *   <li>{@link org.nasdanika.models.gitlab.Member#getUser <em>User</em>}</li>
017 *   <li>{@link org.nasdanika.models.gitlab.Member#getAccessLevel <em>Access Level</em>}</li>
018 *   <li>{@link org.nasdanika.models.gitlab.Member#getExpiresAt <em>Expires At</em>}</li>
019 * </ul>
020 *
021 * @see org.nasdanika.models.gitlab.GitLabPackage#getMember()
022 * @model
023 * @generated
024 */
025public interface Member extends AbstractUser {
026        /**
027         * Returns the value of the '<em><b>User</b></em>' reference.
028         * It is bidirectional and its opposite is '{@link org.nasdanika.models.gitlab.User#getMembership <em>Membership</em>}'.
029         * <!-- begin-user-doc -->
030         * <!-- end-user-doc -->
031         * @return the value of the '<em>User</em>' reference.
032         * @see #setUser(User)
033         * @see org.nasdanika.models.gitlab.GitLabPackage#getMember_User()
034         * @see org.nasdanika.models.gitlab.User#getMembership
035         * @model opposite="membership"
036         * @generated
037         */
038        User getUser();
039
040        /**
041         * Sets the value of the '{@link org.nasdanika.models.gitlab.Member#getUser <em>User</em>}' reference.
042         * <!-- begin-user-doc -->
043         * <!-- end-user-doc -->
044         * @param value the new value of the '<em>User</em>' reference.
045         * @see #getUser()
046         * @generated
047         */
048        void setUser(User value);
049
050        /**
051         * Returns the value of the '<em><b>Access Level</b></em>' attribute.
052         * The literals are from the enumeration {@link org.nasdanika.models.gitlab.AccessLevel}.
053         * <!-- begin-user-doc -->
054         * <!-- end-user-doc -->
055         * @return the value of the '<em>Access Level</em>' attribute.
056         * @see org.nasdanika.models.gitlab.AccessLevel
057         * @see #setAccessLevel(AccessLevel)
058         * @see org.nasdanika.models.gitlab.GitLabPackage#getMember_AccessLevel()
059         * @model
060         * @generated
061         */
062        AccessLevel getAccessLevel();
063
064        /**
065         * Sets the value of the '{@link org.nasdanika.models.gitlab.Member#getAccessLevel <em>Access Level</em>}' attribute.
066         * <!-- begin-user-doc -->
067         * <!-- end-user-doc -->
068         * @param value the new value of the '<em>Access Level</em>' attribute.
069         * @see org.nasdanika.models.gitlab.AccessLevel
070         * @see #getAccessLevel()
071         * @generated
072         */
073        void setAccessLevel(AccessLevel value);
074
075        /**
076         * Returns the value of the '<em><b>Expires At</b></em>' attribute.
077         * <!-- begin-user-doc -->
078         * <!-- end-user-doc -->
079         * @return the value of the '<em>Expires At</em>' attribute.
080         * @see #setExpiresAt(Date)
081         * @see org.nasdanika.models.gitlab.GitLabPackage#getMember_ExpiresAt()
082         * @model
083         * @generated
084         */
085        Date getExpiresAt();
086
087        /**
088         * Sets the value of the '{@link org.nasdanika.models.gitlab.Member#getExpiresAt <em>Expires At</em>}' attribute.
089         * <!-- begin-user-doc -->
090         * <!-- end-user-doc -->
091         * @param value the new value of the '<em>Expires At</em>' attribute.
092         * @see #getExpiresAt()
093         * @generated
094         */
095        void setExpiresAt(Date value);
096
097} // Member