Files
wisemapping-open-source/wise-webapp/src/main/java/com/wisemapping/model/Collaboration.java

105 lines
2.8 KiB
Java
Raw Normal View History

/*
* Copyright [2011] [wisemapping]
*
2011-01-23 21:03:12 -03:00
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
* It is basically the Apache License, Version 2.0 (the "License") plus the
* "powered by wisemapping" text requirement on every single page;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the license at
*
* http://www.wisemapping.org/license
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
2009-06-07 18:59:43 +00:00
package com.wisemapping.model;
2012-06-09 15:49:19 -03:00
import org.jetbrains.annotations.NotNull;
public class Collaboration {
2009-06-07 18:59:43 +00:00
2012-06-09 22:55:55 -03:00
private long id;
2012-06-09 15:49:19 -03:00
private CollaborationRole role;
private MindMap mindMap;
private Collaborator collaborator;
2012-06-09 22:55:55 -03:00
private CollaborationProperties collaborationProperties;
2009-06-07 18:59:43 +00:00
2012-06-09 15:49:19 -03:00
public Collaboration() {
}
2009-06-07 18:59:43 +00:00
2012-06-09 15:49:19 -03:00
public Collaboration(@NotNull CollaborationRole role, @NotNull Collaborator collaborator, @NotNull MindMap mindmap) {
this.role = role;
this.mindMap = mindmap;
this.collaborator = collaborator;
2009-06-07 18:59:43 +00:00
// Guarantee referential integrity
2012-06-09 22:49:54 -03:00
mindmap.addCollaboration(this);
2012-06-09 15:49:19 -03:00
collaborator.addMindmapUser(this);
2009-06-07 18:59:43 +00:00
}
2012-06-09 22:55:55 -03:00
public long getId() {
2009-06-07 18:59:43 +00:00
return id;
}
2012-06-09 22:55:55 -03:00
public void setId(long id) {
2009-06-07 18:59:43 +00:00
this.id = id;
}
public int getRoleId() {
2012-06-09 15:49:19 -03:00
return role.ordinal();
2009-06-07 18:59:43 +00:00
}
public void setRoleId(int roleId) {
2012-06-09 15:49:19 -03:00
this.role = CollaborationRole.values()[roleId];
2009-06-07 18:59:43 +00:00
}
2012-06-09 15:49:19 -03:00
public CollaborationRole getRole() {
return role;
2009-06-07 18:59:43 +00:00
}
2012-06-09 22:49:54 -03:00
public void setRole(@NotNull CollaborationRole role) {
this.role = role;
}
2009-06-07 18:59:43 +00:00
public boolean isOwner() {
2012-06-09 15:49:19 -03:00
return getRole() == CollaborationRole.OWNER;
2009-06-07 18:59:43 +00:00
}
2012-06-09 15:49:19 -03:00
public boolean isEditor() {
return getRole() == CollaborationRole.EDITOR;
2009-06-07 18:59:43 +00:00
}
public boolean isViewer() {
2012-06-09 15:49:19 -03:00
return getRole() == CollaborationRole.VIEWER;
2009-06-07 18:59:43 +00:00
}
public MindMap getMindMap() {
return mindMap;
}
public void setMindMap(MindMap mindMap) {
this.mindMap = mindMap;
}
2012-06-09 15:49:19 -03:00
@NotNull
public Collaborator getCollaborator() {
return collaborator;
2009-06-07 18:59:43 +00:00
}
2012-06-09 15:49:19 -03:00
public void setCollaborator(@NotNull Collaborator collaborator) {
this.collaborator = collaborator;
2012-06-09 15:49:19 -03:00
}
2012-06-09 22:55:55 -03:00
public CollaborationProperties getCollaborationProperties() {
return collaborationProperties;
}
public void setCollaborationProperties(@NotNull CollaborationProperties collaborationProperties) {
this.collaborationProperties = collaborationProperties;
}
2009-06-07 18:59:43 +00:00
}