001/**
002 */
003package org.nasdanika.models.gitlab;
004
005import java.util.Date;
006import org.eclipse.emf.common.util.EList;
007
008/**
009 * <!-- begin-user-doc -->
010 * A representation of the model object '<em><b>Git Lab</b></em>'.
011 * <!-- end-user-doc -->
012 *
013 * <!-- begin-model-doc -->
014 * Represents a GitLab host/instance. The root of the GitLab model.
015 * <!-- end-model-doc -->
016 *
017 * <p>
018 * The following features are supported:
019 * </p>
020 * <ul>
021 *   <li>{@link org.nasdanika.models.gitlab.GitLab#getUrl <em>Url</em>}</li>
022 *   <li>{@link org.nasdanika.models.gitlab.GitLab#getGroups <em>Groups</em>}</li>
023 *   <li>{@link org.nasdanika.models.gitlab.GitLab#getUsers <em>Users</em>}</li>
024 *   <li>{@link org.nasdanika.models.gitlab.GitLab#getTopLevelGroupsLoaded <em>Top Level Groups Loaded</em>}</li>
025 * </ul>
026 *
027 * @see org.nasdanika.models.gitlab.GitLabPackage#getGitLab()
028 * @model
029 * @generated
030 */
031public interface GitLab extends Loadable {
032        /**
033         * Returns the value of the '<em><b>Url</b></em>' attribute.
034         * <!-- begin-user-doc -->
035         * <!-- end-user-doc -->
036         * @return the value of the '<em>Url</em>' attribute.
037         * @see #setUrl(String)
038         * @see org.nasdanika.models.gitlab.GitLabPackage#getGitLab_Url()
039         * @model
040         * @generated
041         */
042        String getUrl();
043
044        /**
045         * Sets the value of the '{@link org.nasdanika.models.gitlab.GitLab#getUrl <em>Url</em>}' attribute.
046         * <!-- begin-user-doc -->
047         * <!-- end-user-doc -->
048         * @param value the new value of the '<em>Url</em>' attribute.
049         * @see #getUrl()
050         * @generated
051         */
052        void setUrl(String value);
053
054        /**
055         * Returns the value of the '<em><b>Groups</b></em>' containment reference list.
056         * The list contents are of type {@link org.nasdanika.models.gitlab.Group}.
057         * <!-- begin-user-doc -->
058         * <!-- end-user-doc -->
059         * @return the value of the '<em>Groups</em>' containment reference list.
060         * @see org.nasdanika.models.gitlab.GitLabPackage#getGitLab_Groups()
061         * @model containment="true" keys="id"
062         * @generated
063         */
064        EList<Group> getGroups();
065
066        /**
067         * Returns the value of the '<em><b>Users</b></em>' containment reference list.
068         * The list contents are of type {@link org.nasdanika.models.gitlab.User}.
069         * <!-- begin-user-doc -->
070         * <!-- end-user-doc -->
071         * @return the value of the '<em>Users</em>' containment reference list.
072         * @see org.nasdanika.models.gitlab.GitLabPackage#getGitLab_Users()
073         * @model containment="true" keys="id"
074         * @generated
075         */
076        EList<User> getUsers();
077
078        /**
079         * Returns the value of the '<em><b>Top Level Groups Loaded</b></em>' attribute.
080         * <!-- begin-user-doc -->
081         * <!-- end-user-doc -->
082         * <!-- begin-model-doc -->
083         * Timestamp when the top level groups were loaded. Deprecated, use loads
084         * <!-- end-model-doc -->
085         * @return the value of the '<em>Top Level Groups Loaded</em>' attribute.
086         * @see #setTopLevelGroupsLoaded(Date)
087         * @see org.nasdanika.models.gitlab.GitLabPackage#getGitLab_TopLevelGroupsLoaded()
088         * @model
089         * @generated
090         */
091        Date getTopLevelGroupsLoaded();
092
093        /**
094         * Sets the value of the '{@link org.nasdanika.models.gitlab.GitLab#getTopLevelGroupsLoaded <em>Top Level Groups Loaded</em>}' attribute.
095         * <!-- begin-user-doc -->
096         * <!-- end-user-doc -->
097         * @param value the new value of the '<em>Top Level Groups Loaded</em>' attribute.
098         * @see #getTopLevelGroupsLoaded()
099         * @generated
100         */
101        void setTopLevelGroupsLoaded(Date value);
102
103} // GitLab