annotate java/src/uk/ac/qmul/eecs/ccmi/network/AwarenessMessage.java @ 1:e3935c01cde2 tip

moved license of PdPersistenceManager to the beginning of the file
author Fiore Martin <f.martin@qmul.ac.uk>
date Tue, 08 Jul 2014 19:52:03 +0100
parents 78b7fc5391a2
children
rev   line source
f@0 1 /*
f@0 2 CCmI Editor - A Collaborative Cross-Modal Diagram Editing Tool
f@0 3
f@0 4 Copyright (C) 2011 Queen Mary University of London (http://ccmi.eecs.qmul.ac.uk/)
f@0 5
f@0 6 This program is free software: you can redistribute it and/or modify
f@0 7 it under the terms of the GNU General Public License as published by
f@0 8 the Free Software Foundation, either version 3 of the License, or
f@0 9 (at your option) any later version.
f@0 10
f@0 11 This program is distributed in the hope that it will be useful,
f@0 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
f@0 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
f@0 14 GNU General Public License for more details.
f@0 15
f@0 16 You should have received a copy of the GNU General Public License
f@0 17 along with this program. If not, see <http://www.gnu.org/licenses/>.
f@0 18 */
f@0 19 package uk.ac.qmul.eecs.ccmi.network;
f@0 20
f@0 21 import uk.ac.qmul.eecs.ccmi.utils.PreferencesService;
f@0 22
f@0 23 public class AwarenessMessage extends Message {
f@0 24
f@0 25 public AwarenessMessage(long timestamp, Name name, String diagram, DiagramEventActionSource source) {
f@0 26 super(timestamp, diagram, source);
f@0 27 this.name = name;
f@0 28 }
f@0 29
f@0 30 public AwarenessMessage(Name name, String diagram, DiagramEventActionSource source) {
f@0 31 super(diagram, source);
f@0 32 this.name = name;
f@0 33 }
f@0 34
f@0 35 public AwarenessMessage(Name name, String diagram, String source) {
f@0 36 super(diagram, source);
f@0 37 this.name = name;
f@0 38 }
f@0 39
f@0 40 @Override
f@0 41 public Name getName() {
f@0 42 return name;
f@0 43 }
f@0 44
f@0 45 public static Name valueOf(String n){
f@0 46 Name name = Name.NONE_A;
f@0 47 try {
f@0 48 name = Name.valueOf(n);
f@0 49 }catch(IllegalArgumentException iae){
f@0 50 iae.printStackTrace();
f@0 51 }
f@0 52 return name;
f@0 53 }
f@0 54
f@0 55 public final static String NAME_POSTFIX = "_A";
f@0 56 public static final String USERNAMES_SEPARATOR = "\n";
f@0 57 private Name name;
f@0 58 private static String defaultUserName = PreferencesService.getInstance().get("user.name", System.getProperty("user.name"));
f@0 59
f@0 60 public enum Name implements Message.MessageName {
f@0 61 START_A,
f@0 62 STOP_A,
f@0 63 GOON_A,
f@0 64 USERNAME_A,
f@0 65 ERROR_A,
f@0 66 NONE_A;
f@0 67 };
f@0 68
f@0 69 public static String getDefaultUserName(){
f@0 70 synchronized(AwarenessMessage.class){
f@0 71 return defaultUserName;
f@0 72 }
f@0 73 }
f@0 74
f@0 75 public static void setDefaultUserName(String userName){
f@0 76 synchronized(AwarenessMessage.class){
f@0 77 defaultUserName = userName ;
f@0 78 }
f@0 79 }
f@0 80 }