List of usage examples for java.util.concurrent.locks Lock unlock
void unlock();
From source file:com.netprogs.minecraft.plugins.social.SocialPerson.java
public <U extends IMessage> int getMessagesCount(Class<U> messageClass) { Lock lock = rwMessageQueueLock.readLock(); lock.lock();/*from ww w. j a v a2s.co m*/ try { int count = 0; String className = messageClass.getCanonicalName(); if (person.getMessageQueue().containsKey(className)) { Set<String> senders = person.getMessageQueue().get(className).keySet(); for (String sender : senders) { count += person.getMessageQueue().get(className).get(sender).size(); } } return count; } finally { lock.unlock(); } }
From source file:com.netprogs.minecraft.plugins.social.SocialPerson.java
public void removeChild(SocialPerson memberPerson) { Lock lock = rwChildLock.writeLock(); lock.lock();// w w w .j a v a 2s . c o m try { firePlayerMemberChangeEvent(memberPerson.getName(), SocialNetworkCommandType.child, Type.preRemove, (person.getChildren().size() == 0)); person.getChildren().remove(memberPerson.getName()); children.remove(memberPerson.getName()); firePlayerMemberChangeEvent(memberPerson.getName(), SocialNetworkCommandType.child, Type.postRemove, (person.getChildren().size() == 0)); } finally { lock.unlock(); } }
From source file:com.netprogs.minecraft.plugins.social.SocialPerson.java
public void addChild(SocialPerson memberPerson) { Lock lock = rwChildLock.writeLock(); lock.lock();/*from ww w .j ava 2 s . c o m*/ try { firePlayerMemberChangeEvent(memberPerson.getName(), SocialNetworkCommandType.child, Type.preAdd, false); Child child = new Child(memberPerson.getName()); person.getChildren().put(memberPerson.getName(), child); children.put(memberPerson.getName(), new SocialChild(child)); firePlayerMemberChangeEvent(memberPerson.getName(), SocialNetworkCommandType.child, Type.postAdd, false); } finally { lock.unlock(); } }
From source file:com.netprogs.minecraft.plugins.social.SocialPerson.java
public void createEngagement(SocialPerson memberPerson) { Lock lock = rwEngagementLock.writeLock(); lock.lock();//from ww w . j a va 2 s.c om try { String memberName = memberPerson.getName(); firePlayerMemberChangeEvent(memberName, SocialNetworkCommandType.engagement, Type.preAdd, false); Engagement engagement = new Engagement(memberName); socialEngagement = new SocialEngagement(engagement); person.setEngagement(engagement); firePlayerMemberChangeEvent(memberName, SocialNetworkCommandType.engagement, Type.postAdd, false); } finally { lock.unlock(); } }
From source file:com.netprogs.minecraft.plugins.social.SocialPerson.java
public void removeFriend(SocialPerson memberPerson) { Lock lock = rwFriendLock.writeLock(); lock.lock();//www . ja va 2s.com try { String memberName = memberPerson.getName(); firePlayerMemberChangeEvent(memberName, SocialNetworkCommandType.friend, Type.preRemove, (person.getFriends().size() == 0)); person.getFriends().remove(memberName); friends.remove(memberName); firePlayerMemberChangeEvent(memberName, SocialNetworkCommandType.friend, Type.postRemove, (person.getFriends().size() == 0)); } finally { lock.unlock(); } }
From source file:com.netprogs.minecraft.plugins.social.SocialPerson.java
public void removeAffair(SocialPerson memberPerson) { Lock lock = rwAffairLock.writeLock(); lock.lock();// www . j a v a 2 s. c o m try { String memberName = memberPerson.getName(); firePlayerMemberChangeEvent(memberName, SocialNetworkCommandType.affair, Type.preRemove, (person.getAffairs().size() == 0)); person.getAffairs().remove(memberName); affairs.remove(memberName); firePlayerMemberChangeEvent(memberName, SocialNetworkCommandType.affair, Type.postRemove, (person.getAffairs().size() == 0)); } finally { lock.unlock(); } }
From source file:com.netprogs.minecraft.plugins.social.SocialPerson.java
/** * Returns all the messages of the given type. * @param messageClass//from www .java 2 s . co m * @return */ @SuppressWarnings("unchecked") public <U extends IMessage> Map<String, List<U>> getMessages(Class<U> messageClass) { Lock lock = rwMessageQueueLock.readLock(); lock.lock(); try { String className = messageClass.getCanonicalName(); if (person.getMessageQueue().containsKey(className)) { Map<String, List<U>> map = new HashMap<String, List<U>>( (Map<? extends String, ? extends List<U>>) person.getMessageQueue().get(className)); return Collections.unmodifiableMap(map); } // return an empty list return Collections.emptyMap(); } finally { lock.unlock(); } }
From source file:com.netprogs.minecraft.plugins.social.SocialPerson.java
public void breakChildOf() { Lock lock = rwChildOfLock.writeLock(); lock.lock();/*from www . j ava 2 s. c o m*/ try { String childOf = StringUtils.EMPTY; if (person.getChildOf() != null) { childOf = person.getChildOf(); firePlayerMemberChangeEvent(childOf, SocialNetworkCommandType.child, Type.preRemove, true); } person.setChildOf(null); if (StringUtils.isNotEmpty(childOf)) { firePlayerMemberChangeEvent(childOf, SocialNetworkCommandType.child, Type.postRemove, true); } } finally { lock.unlock(); } }
From source file:com.netprogs.minecraft.plugins.social.SocialPerson.java
public void removeRelationship(SocialPerson memberPerson) { Lock lock = rwRelationshipLock.writeLock(); lock.lock();// w w w. j a v a2 s .c om try { String memberName = memberPerson.getName(); firePlayerMemberChangeEvent(memberName, SocialNetworkCommandType.relationship, Type.preRemove, (person.getRelationships().size() == 0)); person.getRelationships().remove(memberName); relationships.remove(memberName); firePlayerMemberChangeEvent(memberName, SocialNetworkCommandType.relationship, Type.postRemove, (person.getRelationships().size() == 0)); } finally { lock.unlock(); } }
From source file:com.netprogs.minecraft.plugins.social.SocialPerson.java
public void addRelationship(SocialPerson memberPerson) { Lock lock = rwRelationshipLock.writeLock(); lock.lock();/* w w w. ja v a 2s . com*/ try { String memberName = memberPerson.getName(); firePlayerMemberChangeEvent(memberName, SocialNetworkCommandType.relationship, Type.preAdd, false); Relationship relationship = new Relationship(memberName); person.getRelationships().put(memberName, relationship); relationships.put(memberName, new SocialRelationship(relationship)); firePlayerMemberChangeEvent(memberName, SocialNetworkCommandType.relationship, Type.postAdd, false); } finally { lock.unlock(); } }