Browse Source

Polish

pull/1584/head
Rossen Stoyanchev 8 years ago
parent
commit
b35b50bef1
  1. 36
      spring-messaging/src/main/java/org/springframework/messaging/handler/AbstractMessageCondition.java
  2. 18
      spring-messaging/src/main/java/org/springframework/messaging/simp/SimpMessageTypeMessageCondition.java

36
spring-messaging/src/main/java/org/springframework/messaging/handler/AbstractMessageCondition.java

@ -22,13 +22,30 @@ import java.util.Iterator; @@ -22,13 +22,30 @@ import java.util.Iterator;
import org.springframework.lang.Nullable;
/**
* A base class for {@link MessageCondition} types providing implementations of
* {@link #equals(Object)}, {@link #hashCode()}, and {@link #toString()}.
* Base class for {@code MessageCondition's} that pre-declares abstract methods
* {@link #getContent()} and {@link #getToStringInfix()} in order to provide
* implementations of {@link #equals(Object)}, {@link #hashCode()}, and
* {@link #toString()}.
*
* @author Rossen Stoyanchev
* @since 4.0
*/
public abstract class AbstractMessageCondition<T extends AbstractMessageCondition<T>> implements MessageCondition<T> {
public abstract class AbstractMessageCondition<T extends AbstractMessageCondition<T>>
implements MessageCondition<T> {
/**
* Return the collection of objects the message condition is composed of
* (e.g. destination patterns), never {@code null}.
*/
protected abstract Collection<?> getContent();
/**
* The notation to use when printing discrete items of content.
* For example " || " for URL patterns or " && " for param expressions.
*/
protected abstract String getToStringInfix();
@Override
public boolean equals(@Nullable Object obj) {
@ -61,17 +78,4 @@ public abstract class AbstractMessageCondition<T extends AbstractMessageConditio @@ -61,17 +78,4 @@ public abstract class AbstractMessageCondition<T extends AbstractMessageConditio
return builder.toString();
}
/**
* Return the collection of objects the message condition is composed of
* (e.g. destination patterns), never {@code null}.
*/
protected abstract Collection<?> getContent();
/**
* The notation to use when printing discrete items of content.
* For example " || " for URL patterns or " && " for param expressions.
*/
protected abstract String getToStringInfix();
}

18
spring-messaging/src/main/java/org/springframework/messaging/simp/SimpMessageTypeMessageCondition.java

@ -16,8 +16,9 @@ @@ -16,8 +16,9 @@
package org.springframework.messaging.simp;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Map;
import org.springframework.lang.Nullable;
import org.springframework.messaging.Message;
@ -25,7 +26,8 @@ import org.springframework.messaging.handler.AbstractMessageCondition; @@ -25,7 +26,8 @@ import org.springframework.messaging.handler.AbstractMessageCondition;
import org.springframework.util.Assert;
/**
* A message condition that checks the message type.
* {@code MessageCondition} that matches by the message type obtained via
* {@link SimpMessageHeaderAccessor#getMessageType(Map)}.
*
* @author Rossen Stoyanchev
* @since 4.0
@ -58,7 +60,7 @@ public class SimpMessageTypeMessageCondition extends AbstractMessageCondition<Si @@ -58,7 +60,7 @@ public class SimpMessageTypeMessageCondition extends AbstractMessageCondition<Si
@Override
protected Collection<?> getContent() {
return Arrays.asList(this.messageType);
return Collections.singletonList(this.messageType);
}
@Override
@ -80,15 +82,15 @@ public class SimpMessageTypeMessageCondition extends AbstractMessageCondition<Si @@ -80,15 +82,15 @@ public class SimpMessageTypeMessageCondition extends AbstractMessageCondition<Si
@Override
public int compareTo(SimpMessageTypeMessageCondition other, Message<?> message) {
Object actualMessageType = SimpMessageHeaderAccessor.getMessageType(message.getHeaders());
if (actualMessageType != null) {
if (actualMessageType.equals(this.getMessageType()) && actualMessageType.equals(other.getMessageType())) {
Object actual = SimpMessageHeaderAccessor.getMessageType(message.getHeaders());
if (actual != null) {
if (actual.equals(this.messageType) && actual.equals(other.getMessageType())) {
return 0;
}
else if (actualMessageType.equals(this.getMessageType())) {
else if (actual.equals(this.messageType)) {
return -1;
}
else if (actualMessageType.equals(other.getMessageType())) {
else if (actual.equals(other.getMessageType())) {
return 1;
}
}

Loading…
Cancel
Save