Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
a94c12ff
S
spring-framework
项目概览
爱吃血肠
/
spring-framework
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
a94c12ff
编写于
3月 07, 2019
作者:
J
Juergen Hoeller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Polishing
上级
2b5434e4
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
103 addition
and
103 deletion
+103
-103
spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractBeanDefinition.java
...amework/beans/factory/support/AbstractBeanDefinition.java
+11
-11
spring-context/src/main/java/org/springframework/context/annotation/ImportBeanDefinitionRegistrar.java
...ork/context/annotation/ImportBeanDefinitionRegistrar.java
+2
-3
spring-context/src/main/java/org/springframework/context/annotation/ImportSelector.java
...rg/springframework/context/annotation/ImportSelector.java
+8
-8
spring-context/src/main/java/org/springframework/context/support/AbstractApplicationContext.java
...framework/context/support/AbstractApplicationContext.java
+6
-6
spring-core/src/main/java/org/springframework/util/ObjectUtils.java
...e/src/main/java/org/springframework/util/ObjectUtils.java
+21
-21
spring-messaging/src/main/java/org/springframework/messaging/simp/config/AbstractMessageBrokerConfiguration.java
...aging/simp/config/AbstractMessageBrokerConfiguration.java
+8
-6
spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompDecoder.java
...rg/springframework/messaging/simp/stomp/StompDecoder.java
+2
-2
spring-messaging/src/main/java/org/springframework/messaging/simp/user/MultiServerUserRegistry.java
...ramework/messaging/simp/user/MultiServerUserRegistry.java
+7
-7
spring-test/src/main/java/org/springframework/test/context/TestContext.java
...in/java/org/springframework/test/context/TestContext.java
+8
-8
spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/AbstractRequestCondition.java
...k/web/servlet/mvc/condition/AbstractRequestCondition.java
+30
-31
未找到文件。
spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractBeanDefinition.java
浏览文件 @
a94c12ff
/*
* Copyright 2002-201
6
the original author or authors.
* Copyright 2002-201
9
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -433,7 +433,7 @@ public abstract class AbstractBeanDefinition extends BeanMetadataAttributeAccess
*/
@Override
public
boolean
isSingleton
()
{
return
SCOPE_SINGLETON
.
equals
(
scope
)
||
SCOPE_DEFAULT
.
equals
(
scope
);
return
SCOPE_SINGLETON
.
equals
(
this
.
scope
)
||
SCOPE_DEFAULT
.
equals
(
this
.
scope
);
}
/**
...
...
@@ -443,7 +443,7 @@ public abstract class AbstractBeanDefinition extends BeanMetadataAttributeAccess
*/
@Override
public
boolean
isPrototype
()
{
return
SCOPE_PROTOTYPE
.
equals
(
scope
);
return
SCOPE_PROTOTYPE
.
equals
(
this
.
scope
);
}
/**
...
...
@@ -625,7 +625,7 @@ public abstract class AbstractBeanDefinition extends BeanMetadataAttributeAccess
* Return whether this bean has the specified qualifier.
*/
public
boolean
hasQualifier
(
String
typeName
)
{
return
this
.
qualifiers
.
keySet
().
contains
(
typeName
);
return
this
.
qualifiers
.
containsKey
(
typeName
);
}
/**
...
...
@@ -778,15 +778,15 @@ public abstract class AbstractBeanDefinition extends BeanMetadataAttributeAccess
/**
* Return information about methods to be overridden by the IoC
* container. This will be empty if there are no method overrides.
* Never returns {@code null}.
*
<p>
Never returns {@code null}.
*/
public
MethodOverrides
getMethodOverrides
()
{
return
this
.
methodOverrides
;
}
/**
* Set the name of the initializer method.
The default is {@code null}
* in which case there is no initializer method.
* Set the name of the initializer method.
*
<p>The default is {@code null}
in which case there is no initializer method.
*/
public
void
setInitMethodName
(
String
initMethodName
)
{
this
.
initMethodName
=
initMethodName
;
...
...
@@ -801,7 +801,7 @@ public abstract class AbstractBeanDefinition extends BeanMetadataAttributeAccess
/**
* Specify whether or not the configured init method is the default.
*
D
efault value is {@code false}.
*
<p>The d
efault value is {@code false}.
* @see #setInitMethodName
*/
public
void
setEnforceInitMethod
(
boolean
enforceInitMethod
)
{
...
...
@@ -817,8 +817,8 @@ public abstract class AbstractBeanDefinition extends BeanMetadataAttributeAccess
}
/**
* Set the name of the destroy method.
The default is {@code null}
* in which case there is no destroy method.
* Set the name of the destroy method.
*
<p>The default is {@code null}
in which case there is no destroy method.
*/
public
void
setDestroyMethodName
(
String
destroyMethodName
)
{
this
.
destroyMethodName
=
destroyMethodName
;
...
...
@@ -833,7 +833,7 @@ public abstract class AbstractBeanDefinition extends BeanMetadataAttributeAccess
/**
* Specify whether or not the configured destroy method is the default.
*
D
efault value is {@code false}.
*
<p>The d
efault value is {@code false}.
* @see #setDestroyMethodName
*/
public
void
setEnforceDestroyMethod
(
boolean
enforceDestroyMethod
)
{
...
...
spring-context/src/main/java/org/springframework/context/annotation/ImportBeanDefinitionRegistrar.java
浏览文件 @
a94c12ff
/*
* Copyright 2002-201
3
the original author or authors.
* Copyright 2002-201
9
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -58,7 +58,6 @@ public interface ImportBeanDefinitionRegistrar {
* @param importingClassMetadata annotation metadata of the importing class
* @param registry current bean definition registry
*/
public
void
registerBeanDefinitions
(
AnnotationMetadata
importingClassMetadata
,
BeanDefinitionRegistry
registry
);
void
registerBeanDefinitions
(
AnnotationMetadata
importingClassMetadata
,
BeanDefinitionRegistry
registry
);
}
spring-context/src/main/java/org/springframework/context/annotation/ImportSelector.java
浏览文件 @
a94c12ff
...
...
@@ -20,12 +20,12 @@ import org.springframework.core.type.AnnotationMetadata;
/**
* Interface to be implemented by types that determine which @{@link Configuration}
* class(es) should be imported based on a given selection criteria, usually one or
more
* annotation attributes.
* class(es) should be imported based on a given selection criteria, usually one or
*
more
annotation attributes.
*
* <p>An {@link ImportSelector} may implement any of the following
* {@link org.springframework.beans.factory.Aware Aware} interfaces,
and their respective
* methods will be called prior to {@link #selectImports}:
* {@link org.springframework.beans.factory.Aware Aware} interfaces,
*
and their respective
methods will be called prior to {@link #selectImports}:
* <ul>
* <li>{@link org.springframework.context.EnvironmentAware EnvironmentAware}</li>
* <li>{@link org.springframework.beans.factory.BeanFactoryAware BeanFactoryAware}</li>
...
...
@@ -33,10 +33,10 @@ import org.springframework.core.type.AnnotationMetadata;
* <li>{@link org.springframework.context.ResourceLoaderAware ResourceLoaderAware}</li>
* </ul>
*
* <p>
ImportSelectors are usually processed in the same way as regular {@code @Import}
* a
nnotations, however, it is also possible to defer selection of imports until all
*
{@code @Configuration} classes have been processed (see {@link DeferredImportSelector}
* for details).
* <p>
{@code ImportSelector} implementations are usually processed in the same way
* a
s regular {@code @Import} annotations, however, it is also possible to defer
*
selection of imports until all {@code @Configuration} classes have been processed
*
(see {@link DeferredImportSelector}
for details).
*
* @author Chris Beams
* @since 3.1
...
...
spring-context/src/main/java/org/springframework/context/support/AbstractApplicationContext.java
浏览文件 @
a94c12ff
...
...
@@ -91,24 +91,24 @@ import org.springframework.util.StringValueResolver;
* to detect special beans defined in its internal bean factory:
* Therefore, this class automatically registers
* {@link org.springframework.beans.factory.config.BeanFactoryPostProcessor BeanFactoryPostProcessors},
* {@link org.springframework.beans.factory.config.BeanPostProcessor BeanPostProcessors}
* {@link org.springframework.beans.factory.config.BeanPostProcessor BeanPostProcessors}
,
* and {@link org.springframework.context.ApplicationListener ApplicationListeners}
* which are defined as beans in the context.
*
* <p>A {@link org.springframework.context.MessageSource} may also be supplied
* as a bean in the context, with the name "messageSource"; otherwise, message
* resolution is delegated to the parent context. Furthermore, a multicaster
* for application events can be supplied as "applicationEventMulticaster" bean
* for application events can be supplied as
an
"applicationEventMulticaster" bean
* of type {@link org.springframework.context.event.ApplicationEventMulticaster}
* in the context; otherwise, a default multicaster of type
* {@link org.springframework.context.event.SimpleApplicationEventMulticaster} will be used.
*
* <p>Implements resource loading
through
extending
* <p>Implements resource loading
by
extending
* {@link org.springframework.core.io.DefaultResourceLoader}.
* Consequently treats non-URL resource paths as class path resources
* (supporting full class path resource names that include the package path,
* e.g. "mypackage/myresource.dat"), unless the {@link #getResourceByPath}
* method is over
writt
en in a subclass.
* method is over
ridd
en in a subclass.
*
* @author Rod Johnson
* @author Juergen Hoeller
...
...
@@ -381,7 +381,7 @@ public abstract class AbstractApplicationContext extends DefaultResourceLoader
else
{
applicationEvent
=
new
PayloadApplicationEvent
<
Object
>(
this
,
event
);
if
(
eventType
==
null
)
{
eventType
=
((
PayloadApplicationEvent
)
applicationEvent
).
getResolvableType
();
eventType
=
((
PayloadApplicationEvent
<?>
)
applicationEvent
).
getResolvableType
();
}
}
...
...
@@ -695,7 +695,7 @@ public abstract class AbstractApplicationContext extends DefaultResourceLoader
}
/**
* Instantiate and
invoke all registered
BeanPostProcessor beans,
* Instantiate and
register all
BeanPostProcessor beans,
* respecting explicit order if given.
* <p>Must be called before any instantiation of application beans.
*/
...
...
spring-core/src/main/java/org/springframework/util/ObjectUtils.java
浏览文件 @
a94c12ff
/*
* Copyright 2002-201
8
the original author or authors.
* Copyright 2002-201
9
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -606,7 +606,7 @@ public abstract class ObjectUtils {
/**
* Determine the class name for the given object.
* <p>Returns
{@code "null"}
if {@code obj} is {@code null}.
* <p>Returns
a {@code "null"} String
if {@code obj} is {@code null}.
* @param obj the object to introspect (may be {@code null})
* @return the corresponding class name
*/
...
...
@@ -617,7 +617,7 @@ public abstract class ObjectUtils {
/**
* Return a String representation of the specified Object.
* <p>Builds a String representation of the contents in case of an array.
* Returns
{@code "null"}
if {@code obj} is {@code null}.
* Returns
a {@code "null"} String
if {@code obj} is {@code null}.
* @param obj the object to build a String representation for
* @return a String representation of {@code obj}
*/
...
...
@@ -663,8 +663,8 @@ public abstract class ObjectUtils {
* Return a String representation of the contents of the specified array.
* <p>The String representation consists of a list of the array's elements,
* enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
* by the characters {@code ", "} (a comma followed by a space).
Returns
*
{@code "null"}
if {@code array} is {@code null}.
* by the characters {@code ", "} (a comma followed by a space).
*
Returns a {@code "null"} String
if {@code array} is {@code null}.
* @param array the array to build a String representation for
* @return a String representation of {@code array}
*/
...
...
@@ -694,8 +694,8 @@ public abstract class ObjectUtils {
* Return a String representation of the contents of the specified array.
* <p>The String representation consists of a list of the array's elements,
* enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
* by the characters {@code ", "} (a comma followed by a space).
Returns
*
{@code "null"}
if {@code array} is {@code null}.
* by the characters {@code ", "} (a comma followed by a space).
*
Returns a {@code "null"} String
if {@code array} is {@code null}.
* @param array the array to build a String representation for
* @return a String representation of {@code array}
*/
...
...
@@ -726,8 +726,8 @@ public abstract class ObjectUtils {
* Return a String representation of the contents of the specified array.
* <p>The String representation consists of a list of the array's elements,
* enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
* by the characters {@code ", "} (a comma followed by a space).
Returns
*
{@code "null"}
if {@code array} is {@code null}.
* by the characters {@code ", "} (a comma followed by a space).
*
Returns a {@code "null"} String
if {@code array} is {@code null}.
* @param array the array to build a String representation for
* @return a String representation of {@code array}
*/
...
...
@@ -757,8 +757,8 @@ public abstract class ObjectUtils {
* Return a String representation of the contents of the specified array.
* <p>The String representation consists of a list of the array's elements,
* enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
* by the characters {@code ", "} (a comma followed by a space).
Returns
*
{@code "null"}
if {@code array} is {@code null}.
* by the characters {@code ", "} (a comma followed by a space).
*
Returns a {@code "null"} String
if {@code array} is {@code null}.
* @param array the array to build a String representation for
* @return a String representation of {@code array}
*/
...
...
@@ -788,8 +788,8 @@ public abstract class ObjectUtils {
* Return a String representation of the contents of the specified array.
* <p>The String representation consists of a list of the array's elements,
* enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
* by the characters {@code ", "} (a comma followed by a space).
Returns
*
{@code "null"}
if {@code array} is {@code null}.
* by the characters {@code ", "} (a comma followed by a space).
*
Returns a {@code "null"} String
if {@code array} is {@code null}.
* @param array the array to build a String representation for
* @return a String representation of {@code array}
*/
...
...
@@ -820,8 +820,8 @@ public abstract class ObjectUtils {
* Return a String representation of the contents of the specified array.
* <p>The String representation consists of a list of the array's elements,
* enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
* by the characters {@code ", "} (a comma followed by a space).
Returns
*
{@code "null"}
if {@code array} is {@code null}.
* by the characters {@code ", "} (a comma followed by a space).
*
Returns a {@code "null"} String
if {@code array} is {@code null}.
* @param array the array to build a String representation for
* @return a String representation of {@code array}
*/
...
...
@@ -852,8 +852,8 @@ public abstract class ObjectUtils {
* Return a String representation of the contents of the specified array.
* <p>The String representation consists of a list of the array's elements,
* enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
* by the characters {@code ", "} (a comma followed by a space).
Returns
*
{@code "null"}
if {@code array} is {@code null}.
* by the characters {@code ", "} (a comma followed by a space).
*
Returns a {@code "null"} String
if {@code array} is {@code null}.
* @param array the array to build a String representation for
* @return a String representation of {@code array}
*/
...
...
@@ -883,8 +883,8 @@ public abstract class ObjectUtils {
* Return a String representation of the contents of the specified array.
* <p>The String representation consists of a list of the array's elements,
* enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
* by the characters {@code ", "} (a comma followed by a space).
Returns
*
{@code "null"}
if {@code array} is {@code null}.
* by the characters {@code ", "} (a comma followed by a space).
*
Returns a {@code "null"} String
if {@code array} is {@code null}.
* @param array the array to build a String representation for
* @return a String representation of {@code array}
*/
...
...
@@ -914,8 +914,8 @@ public abstract class ObjectUtils {
* Return a String representation of the contents of the specified array.
* <p>The String representation consists of a list of the array's elements,
* enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
* by the characters {@code ", "} (a comma followed by a space).
Returns
*
{@code "null"}
if {@code array} is {@code null}.
* by the characters {@code ", "} (a comma followed by a space).
*
Returns a {@code "null"} String
if {@code array} is {@code null}.
* @param array the array to build a String representation for
* @return a String representation of {@code array}
*/
...
...
spring-messaging/src/main/java/org/springframework/messaging/simp/config/AbstractMessageBrokerConfiguration.java
浏览文件 @
a94c12ff
/*
* Copyright 2002-201
7
the original author or authors.
* Copyright 2002-201
9
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -65,18 +65,20 @@ import org.springframework.validation.Validator;
* protocols such as STOMP.
*
* <p>{@link #clientInboundChannel()} and {@link #clientOutboundChannel()} deliver
* messages to and from remote clients to several message handlers such as
* messages to and from remote clients to several message handlers such as the
* following.
* <ul>
* <li>{@link #simpAnnotationMethodMessageHandler()}</li>
* <li>{@link #simpleBrokerMessageHandler()}</li>
* <li>{@link #stompBrokerRelayMessageHandler()}</li>
* <li>{@link #userDestinationMessageHandler()}</li>
* </ul>
* while {@link #brokerChannel()} delivers messages from within the application to the
*
* <p>{@link #brokerChannel()} delivers messages from within the application to the
* the respective message handlers. {@link #brokerMessagingTemplate()} can be injected
* into any application component to send messages.
*
* <p>Subclasses are responsible for the part of the configuration that feed messages
* <p>Subclasses are responsible for the part
s
of the configuration that feed messages
* to and from the client inbound/outbound channels (e.g. STOMP over WebSocket).
*
* @author Rossen Stoyanchev
...
...
@@ -387,7 +389,7 @@ public abstract class AbstractMessageBrokerConfiguration implements ApplicationC
* Override this method to add custom message converters.
* @param messageConverters the list to add converters to, initially empty
* @return {@code true} if default message converters should be added to list,
* {@code false} if no more converters should be added
.
* {@code false} if no more converters should be added
*/
protected
boolean
configureMessageConverters
(
List
<
MessageConverter
>
messageConverters
)
{
return
true
;
...
...
@@ -410,7 +412,7 @@ public abstract class AbstractMessageBrokerConfiguration implements ApplicationC
}
/**
* Create the user registry that provides access to
the
local users.
* Create the user registry that provides access to local users.
*/
protected
abstract
SimpUserRegistry
createLocalUserRegistry
();
...
...
spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompDecoder.java
浏览文件 @
a94c12ff
/*
* Copyright 2002-201
7
the original author or authors.
* Copyright 2002-201
9
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -258,7 +258,7 @@ public class StompDecoder {
if
(
index
+
1
>=
inString
.
length
())
{
throw
new
StompConversionException
(
"Illegal escape sequence at index "
+
index
+
": "
+
inString
);
}
Characte
r
c
=
inString
.
charAt
(
index
+
1
);
cha
r
c
=
inString
.
charAt
(
index
+
1
);
if
(
c
==
'r'
)
{
sb
.
append
(
'\r'
);
}
...
...
spring-messaging/src/main/java/org/springframework/messaging/simp/user/MultiServerUserRegistry.java
浏览文件 @
a94c12ff
/*
* Copyright 2002-201
6
the original author or authors.
* Copyright 2002-201
9
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -63,7 +63,7 @@ public class MultiServerUserRegistry implements SimpUserRegistry, SmartApplicati
* Create an instance wrapping the local user registry.
*/
public
MultiServerUserRegistry
(
SimpUserRegistry
localRegistry
)
{
Assert
.
notNull
(
localRegistry
,
"'localRegistry' is required
.
"
);
Assert
.
notNull
(
localRegistry
,
"'localRegistry' is required"
);
this
.
id
=
generateId
();
this
.
localRegistry
=
localRegistry
;
this
.
delegateApplicationEvents
=
this
.
localRegistry
instanceof
SmartApplicationListener
;
...
...
@@ -274,10 +274,10 @@ public class MultiServerUserRegistry implements SimpUserRegistry, SmartApplicati
private
String
name
;
/
* User sessions from "this" registry only (i.e. one server) */
/
/ User sessions from "this" registry only (i.e. one server)
private
Set
<
TransferSimpSession
>
sessions
;
/
* Cross-server session lookup (e.g. user connected to multiple servers) */
/
/ Cross-server session lookup (e.g. user connected to multiple servers)
private
SessionLookup
sessionLookup
;
/**
...
...
@@ -518,13 +518,13 @@ public class MultiServerUserRegistry implements SimpUserRegistry, SmartApplicati
return
false
;
}
SimpSubscription
otherSubscription
=
(
SimpSubscription
)
other
;
return
(
ObjectUtils
.
nullSafeEquals
(
getSession
(),
otherSubscription
.
getSession
())
&&
this
.
id
.
equals
(
otherSubscription
.
getId
()));
return
(
getId
().
equals
(
otherSubscription
.
getId
())
&&
ObjectUtils
.
nullSafeEquals
(
getSession
(),
otherSubscription
.
getSession
()));
}
@Override
public
int
hashCode
()
{
return
this
.
id
.
hashCode
()
*
31
+
ObjectUtils
.
nullSafeHashCode
(
getSession
());
return
getId
()
.
hashCode
()
*
31
+
ObjectUtils
.
nullSafeHashCode
(
getSession
());
}
@Override
...
...
spring-test/src/main/java/org/springframework/test/context/TestContext.java
浏览文件 @
a94c12ff
/*
* Copyright 2002-201
5
the original author or authors.
* Copyright 2002-201
9
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -29,6 +29,8 @@ import org.springframework.test.annotation.DirtiesContext.HierarchyMode;
*
* @author Sam Brannen
* @since 2.5
* @see TestContextManager
* @see TestExecutionListener
*/
public
interface
TestContext
extends
AttributeAccessor
,
Serializable
{
...
...
@@ -38,7 +40,7 @@ public interface TestContext extends AttributeAccessor, Serializable {
* <p>Implementations of this method are responsible for loading the
* application context if the corresponding context has not already been
* loaded, potentially caching the context as well.
* @return the application context
* @return the application context
(never {@code null})
* @throws IllegalStateException if an error occurs while retrieving the
* application context
*/
...
...
@@ -70,8 +72,7 @@ public interface TestContext extends AttributeAccessor, Serializable {
* Get the {@linkplain Throwable exception} that was thrown during execution
* of the {@linkplain #getTestMethod() test method}.
* <p>Note: this is a mutable property.
* @return the exception that was thrown, or {@code null} if no
* exception was thrown
* @return the exception that was thrown, or {@code null} if no exception was thrown
* @see #updateState(Object, Method, Throwable)
*/
Throwable
getTestException
();
...
...
@@ -89,14 +90,13 @@ public interface TestContext extends AttributeAccessor, Serializable {
void
markApplicationContextDirty
(
HierarchyMode
hierarchyMode
);
/**
* Update this test context to reflect the state of the currently executing
* test.
* Update this test context to reflect the state of the currently executing test.
* <p>Caution: concurrent invocations of this method might not be thread-safe,
* depending on the underlying implementation.
* @param testInstance the current test instance (may be {@code null})
* @param testMethod the current test method (may be {@code null})
* @param testException the exception that was thrown in the test method,
or
* {@code null} if no exception was thrown
* @param testException the exception that was thrown in the test method,
*
or
{@code null} if no exception was thrown
*/
void
updateState
(
Object
testInstance
,
Method
testMethod
,
Throwable
testException
);
...
...
spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/AbstractRequestCondition.java
浏览文件 @
a94c12ff
/*
* Copyright 2002-201
6
the original author or authors.
* Copyright 2002-201
9
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -28,16 +28,39 @@ import java.util.Iterator;
*/
public
abstract
class
AbstractRequestCondition
<
T
extends
AbstractRequestCondition
<
T
>>
implements
RequestCondition
<
T
>
{
/**
* Indicates whether this condition is empty, i.e. whether or not it
* contains any discrete items.
* @return {@code true} if empty; {@code false} otherwise
*/
public
boolean
isEmpty
()
{
return
getContent
().
isEmpty
();
}
/**
* Return the discrete items a request condition is composed of.
* <p>For example URL patterns, HTTP request methods, param expressions, etc.
* @return a collection of objects (never {@code null})
*/
protected
abstract
Collection
<?>
getContent
();
/**
* The notation to use when printing discrete items of content.
* <p>For example {@code " || "} for URL patterns or {@code " && "}
* for param expressions.
*/
protected
abstract
String
getToStringInfix
();
@Override
public
boolean
equals
(
Object
o
bj
)
{
if
(
this
==
o
bj
)
{
public
boolean
equals
(
Object
o
ther
)
{
if
(
this
==
o
ther
)
{
return
true
;
}
if
(
obj
!=
null
&&
getClass
()
==
obj
.
getClass
())
{
AbstractRequestCondition
<?>
other
=
(
AbstractRequestCondition
<?>)
obj
;
return
getContent
().
equals
(
other
.
getContent
());
if
(
other
==
null
||
getClass
()
!=
other
.
getClass
())
{
return
false
;
}
return
false
;
return
getContent
().
equals
(((
AbstractRequestCondition
<?>)
other
).
getContent
())
;
}
@Override
...
...
@@ -59,28 +82,4 @@ public abstract class AbstractRequestCondition<T extends AbstractRequestConditio
return
builder
.
toString
();
}
/**
* Indicates whether this condition is empty, i.e. whether or not it
* contains any discrete items.
* @return {@code true} if empty; {@code false} otherwise
*/
public
boolean
isEmpty
()
{
return
getContent
().
isEmpty
();
}
/**
* Return the discrete items a request condition is composed of.
* <p>For example URL patterns, HTTP request methods, param expressions, etc.
* @return a collection of objects, never {@code null}
*/
protected
abstract
Collection
<?>
getContent
();
/**
* The notation to use when printing discrete items of content.
* <p>For example {@code " || "} for URL patterns or {@code " && "}
* for param expressions.
*/
protected
abstract
String
getToStringInfix
();
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录