001/**
002 */
003package org.nasdanika.models.gitlab;
004
005import org.eclipse.emf.ecore.EObject;
006
007/**
008 * <!-- begin-user-doc -->
009 * A representation of the model object '<em><b>Project Shared Group</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.ProjectSharedGroup#getId <em>Id</em>}</li>
017 *   <li>{@link org.nasdanika.models.gitlab.ProjectSharedGroup#getName <em>Name</em>}</li>
018 *   <li>{@link org.nasdanika.models.gitlab.ProjectSharedGroup#getFullPath <em>Full Path</em>}</li>
019 *   <li>{@link org.nasdanika.models.gitlab.ProjectSharedGroup#getAccessLevel <em>Access Level</em>}</li>
020 *   <li>{@link org.nasdanika.models.gitlab.ProjectSharedGroup#getGroup <em>Group</em>}</li>
021 * </ul>
022 *
023 * @see org.nasdanika.models.gitlab.GitLabPackage#getProjectSharedGroup()
024 * @model
025 * @generated
026 */
027public interface ProjectSharedGroup extends EObject {
028        /**
029         * Returns the value of the '<em><b>Id</b></em>' attribute.
030         * <!-- begin-user-doc -->
031         * <!-- end-user-doc -->
032         * @return the value of the '<em>Id</em>' attribute.
033         * @see #setId(Long)
034         * @see org.nasdanika.models.gitlab.GitLabPackage#getProjectSharedGroup_Id()
035         * @model
036         * @generated
037         */
038        Long getId();
039
040        /**
041         * Sets the value of the '{@link org.nasdanika.models.gitlab.ProjectSharedGroup#getId <em>Id</em>}' attribute.
042         * <!-- begin-user-doc -->
043         * <!-- end-user-doc -->
044         * @param value the new value of the '<em>Id</em>' attribute.
045         * @see #getId()
046         * @generated
047         */
048        void setId(Long value);
049
050        /**
051         * Returns the value of the '<em><b>Name</b></em>' attribute.
052         * <!-- begin-user-doc -->
053         * <!-- end-user-doc -->
054         * @return the value of the '<em>Name</em>' attribute.
055         * @see #setName(String)
056         * @see org.nasdanika.models.gitlab.GitLabPackage#getProjectSharedGroup_Name()
057         * @model
058         * @generated
059         */
060        String getName();
061
062        /**
063         * Sets the value of the '{@link org.nasdanika.models.gitlab.ProjectSharedGroup#getName <em>Name</em>}' attribute.
064         * <!-- begin-user-doc -->
065         * <!-- end-user-doc -->
066         * @param value the new value of the '<em>Name</em>' attribute.
067         * @see #getName()
068         * @generated
069         */
070        void setName(String value);
071
072        /**
073         * Returns the value of the '<em><b>Full Path</b></em>' attribute.
074         * <!-- begin-user-doc -->
075         * <!-- end-user-doc -->
076         * @return the value of the '<em>Full Path</em>' attribute.
077         * @see #setFullPath(String)
078         * @see org.nasdanika.models.gitlab.GitLabPackage#getProjectSharedGroup_FullPath()
079         * @model
080         * @generated
081         */
082        String getFullPath();
083
084        /**
085         * Sets the value of the '{@link org.nasdanika.models.gitlab.ProjectSharedGroup#getFullPath <em>Full Path</em>}' attribute.
086         * <!-- begin-user-doc -->
087         * <!-- end-user-doc -->
088         * @param value the new value of the '<em>Full Path</em>' attribute.
089         * @see #getFullPath()
090         * @generated
091         */
092        void setFullPath(String value);
093
094        /**
095         * Returns the value of the '<em><b>Access Level</b></em>' attribute.
096         * The literals are from the enumeration {@link org.nasdanika.models.gitlab.AccessLevel}.
097         * <!-- begin-user-doc -->
098         * <!-- end-user-doc -->
099         * @return the value of the '<em>Access Level</em>' attribute.
100         * @see org.nasdanika.models.gitlab.AccessLevel
101         * @see #setAccessLevel(AccessLevel)
102         * @see org.nasdanika.models.gitlab.GitLabPackage#getProjectSharedGroup_AccessLevel()
103         * @model
104         * @generated
105         */
106        AccessLevel getAccessLevel();
107
108        /**
109         * Sets the value of the '{@link org.nasdanika.models.gitlab.ProjectSharedGroup#getAccessLevel <em>Access Level</em>}' attribute.
110         * <!-- begin-user-doc -->
111         * <!-- end-user-doc -->
112         * @param value the new value of the '<em>Access Level</em>' attribute.
113         * @see org.nasdanika.models.gitlab.AccessLevel
114         * @see #getAccessLevel()
115         * @generated
116         */
117        void setAccessLevel(AccessLevel value);
118
119        /**
120         * Returns the value of the '<em><b>Group</b></em>' reference.
121         * It is bidirectional and its opposite is '{@link org.nasdanika.models.gitlab.Group#getShares <em>Shares</em>}'.
122         * <!-- begin-user-doc -->
123         * <!-- end-user-doc -->
124         * @return the value of the '<em>Group</em>' reference.
125         * @see #setGroup(Group)
126         * @see org.nasdanika.models.gitlab.GitLabPackage#getProjectSharedGroup_Group()
127         * @see org.nasdanika.models.gitlab.Group#getShares
128         * @model opposite="shares"
129         * @generated
130         */
131        Group getGroup();
132
133        /**
134         * Sets the value of the '{@link org.nasdanika.models.gitlab.ProjectSharedGroup#getGroup <em>Group</em>}' reference.
135         * <!-- begin-user-doc -->
136         * <!-- end-user-doc -->
137         * @param value the new value of the '<em>Group</em>' reference.
138         * @see #getGroup()
139         * @generated
140         */
141        void setGroup(Group value);
142
143} // ProjectSharedGroup