swh:1:snp:113c758bbca8ab355325fa13c5762925d199e835
Tip revision: 669d5b245cbe2efedbf2ae777ed633accf98e9c4 authored by Iwao AVE! on 03 July 2024, 03:06:24 UTC
Reverted to 3.5.16
Reverted to 3.5.16
Tip revision: 669d5b2
cpd.html
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 2.0.0-M16 from org.apache.maven.plugins:maven-pmd-plugin:3.21.2:cpd at 03 7月 2024
| Rendered using Apache Maven Fluido Skin 2.0.0-M8
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M16" />
<title>mybatis – CPD Results</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-2.0.0-M8.min.css" />
<link rel="stylesheet" href="./css/site.css" />
<link rel="stylesheet" href="./css/print.css" media="print" />
<script src="./js/apache-maven-fluido-2.0.0-M8.min.js"></script>
</head>
<body>
<div class="container-fluid container-fluid-top">
<header>
<div id="banner">
<div class="pull-left"></div>
<div class="pull-right"><div id="bannerRight"><h1><a href="https://blog.mybatis.org/" class="externalLink"><img class="imageLink" src="../../images/mybatis-logo.png" alt="MyBatis logo" /> MyBatis</a></h1></div></div>
<div class="clear"><hr/></div>
</div>
<div id="breadcrumbs">
<ul class="breadcrumb">
<li id="publishDate">最終更新: 02 4月 2024<span class="divider">|</span>
</li>
<li id="projectVersion">バージョン: 3.5.16</li>
</ul>
</div>
</header>
<div class="row-fluid">
<header id="leftColumn" class="span2">
<nav class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header">Core</li>
<li><a href="index.html">イントロダクション</a></li>
<li><a href="getting-started.html">スタートガイド</a></li>
<li><a href="configuration.html"><span class="icon-chevron-right"></span>設定</a></li>
<li><a href="sqlmap-xml.html"><span class="icon-chevron-right"></span>Mapper XML ファイル</a></li>
<li><a href="dynamic-sql.html">動的 SQL</a></li>
<li><a href="java-api.html"><span class="icon-chevron-right"></span>Java API</a></li>
<li><a href="statement-builders.html"><span class="icon-chevron-right"></span>ステートメントビルダー</a></li>
<li><a href="logging.html">ロギング</a></li>
<li class="nav-header">プロジェクト文書</li>
<li><a href="project-info.html"><span class="icon-chevron-right"></span>プロジェクト情報</a></li>
<li><a href="project-reports.html"><span class="icon-chevron-down"></span>プロジェクトレポート</a>
<ul class="nav nav-list">
<li><a href="apidocs/index.html">Javadoc</a></li>
<li><a href="xref/index.html">Source Xref</a></li>
<li><a href="xref-test/index.html">Test Source Xref</a></li>
<li><a href="spotbugs.html">SpotBugs</a></li>
<li><a href="surefire-report.html">Surefire</a></li>
<li><a href="checkstyle.html">Checkstyle</a></li>
<li class="active"><a>CPD</a></li>
<li><a href="pmd.html">PMD</a></li>
<li><a href="taglist.html">Tag List</a></li>
<li><a href="clirr-report.html">Clirr</a></li>
<li><a href="dependency-updates-report.html">Dependency Updates Report</a></li>
<li><a href="parent-updates-report.html">Parent Updates Report</a></li>
<li><a href="plugin-updates-report.html">Plugin Updates Report</a></li>
<li><a href="property-updates-report.html">Property Updates Report</a></li>
</ul></li>
</ul>
</nav>
<div class="well sidebar-nav">
<div id="poweredBy">
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<a href="https://maven.apache.org/" class="builtBy" target="_blank"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
</div>
</div>
</header>
<main id="bodyColumn" class="span10">
<section>
<h1>CPD Results</h1><a id="CPD_Results"></a>
<p>The following document contains the results of PMD's <a class="externalLink" href="https://pmd.github.io/latest/pmd_userdocs_cpd.html">CPD</a> 6.55.0.</p><section>
<h2>Duplications</h2><a id="Duplications"></a>
<table class="table table-striped">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td style="text-align: left;">org/apache/ibatis/executor/loader/cglib/CglibProxyFactory.java</td>
<td><a href="./xref/org/apache/ibatis/executor/loader/cglib/CglibProxyFactory.html#L104">104</a></td></tr>
<tr class="a">
<td style="text-align: left;">org/apache/ibatis/executor/loader/javassist/JavassistProxyFactory.java</td>
<td><a href="./xref/org/apache/ibatis/executor/loader/javassist/JavassistProxyFactory.html#L102">102</a></td></tr>
<tr class="b">
<td colspan="2" style="text-align: left;">
<div class="verbatim">
<pre>private static class EnhancedResultObjectProxyImpl implements MethodInterceptor {
private final Class<?> type;
private final ResultLoaderMap lazyLoader;
private final boolean aggressive;
private final Set<String> lazyLoadTriggerMethods;
private final ObjectFactory objectFactory;
private final List<Class<?>> constructorArgTypes;
private final List<Object> constructorArgs;
private final ReentrantLock lock = new ReentrantLock();
private EnhancedResultObjectProxyImpl(Class<?> type, ResultLoaderMap lazyLoader, Configuration configuration,
ObjectFactory objectFactory, List<Class<?>> constructorArgTypes, List<Object> constructorArgs) {
this.type = type;
this.lazyLoader = lazyLoader;
this.aggressive = configuration.isAggressiveLazyLoading();
this.lazyLoadTriggerMethods = configuration.getLazyLoadTriggerMethods();
this.objectFactory = objectFactory;
this.constructorArgTypes = constructorArgTypes;
this.constructorArgs = constructorArgs;
}
public static Object createProxy(Object target, ResultLoaderMap lazyLoader, Configuration configuration,
ObjectFactory objectFactory, List<Class<?>> constructorArgTypes, List<Object> constructorArgs) {
final Class<?> type = target.getClass();
EnhancedResultObjectProxyImpl callback = new EnhancedResultObjectProxyImpl(type, lazyLoader, configuration,
objectFactory, constructorArgTypes, constructorArgs);
Object enhanced = createStaticProxy(type, callback, constructorArgTypes, constructorArgs);
PropertyCopier.copyBeanProperties(type, target, enhanced);
return enhanced;
}
@Override
public Object intercept(Object enhanced, Method method, Object[] args, MethodProxy methodProxy) throws Throwable {</pre></div></td></tr></table>
<table class="table table-striped">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td style="text-align: left;">org/apache/ibatis/jdbc/SelectBuilder.java</td>
<td><a href="./xref/org/apache/ibatis/jdbc/SelectBuilder.html#L49">49</a></td></tr>
<tr class="a">
<td style="text-align: left;">org/apache/ibatis/jdbc/SqlBuilder.java</td>
<td><a href="./xref/org/apache/ibatis/jdbc/SqlBuilder.html#L77">77</a></td></tr>
<tr class="b">
<td colspan="2" style="text-align: left;">
<div class="verbatim">
<pre>sql().SELECT_DISTINCT(columns);
}
public static void FROM(String table) {
sql().FROM(table);
}
public static void JOIN(String join) {
sql().JOIN(join);
}
public static void INNER_JOIN(String join) {
sql().INNER_JOIN(join);
}
public static void LEFT_OUTER_JOIN(String join) {
sql().LEFT_OUTER_JOIN(join);
}
public static void RIGHT_OUTER_JOIN(String join) {
sql().RIGHT_OUTER_JOIN(join);
}
public static void OUTER_JOIN(String join) {
sql().OUTER_JOIN(join);
}
public static void WHERE(String conditions) {
sql().WHERE(conditions);
}
public static void OR() {
sql().OR();
}
public static void AND() {
sql().AND();
}
public static void GROUP_BY(String columns) {
sql().GROUP_BY(columns);
}
public static void HAVING(String conditions) {
sql().HAVING(conditions);
}
public static void ORDER_BY(String columns) {
sql().ORDER_BY(columns);
}</pre></div></td></tr></table>
<table class="table table-striped">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td style="text-align: left;">org/apache/ibatis/type/ClobTypeHandler.java</td>
<td><a href="./xref/org/apache/ibatis/type/ClobTypeHandler.html#L28">28</a></td></tr>
<tr class="a">
<td style="text-align: left;">org/apache/ibatis/type/NClobTypeHandler.java</td>
<td><a href="./xref/org/apache/ibatis/type/NClobTypeHandler.html#L28">28</a></td></tr>
<tr class="b">
<td colspan="2" style="text-align: left;">
<div class="verbatim">
<pre>public class ClobTypeHandler extends BaseTypeHandler<String> {
@Override
public void setNonNullParameter(PreparedStatement ps, int i, String parameter, JdbcType jdbcType)
throws SQLException {
StringReader reader = new StringReader(parameter);
ps.setCharacterStream(i, reader, parameter.length());
}
@Override
public String getNullableResult(ResultSet rs, String columnName) throws SQLException {
Clob clob = rs.getClob(columnName);
return toString(clob);
}
@Override
public String getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
Clob clob = rs.getClob(columnIndex);
return toString(clob);
}
@Override
public String getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
Clob clob = cs.getClob(columnIndex);
return toString(clob);
}
private String toString(Clob clob) throws SQLException {
return clob == null ? null : clob.getSubString(1, (int) clob.length());
}
}</pre></div></td></tr></table>
<table class="table table-striped">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td style="text-align: left;">org/apache/ibatis/executor/loader/cglib/CglibProxyFactory.java</td>
<td><a href="./xref/org/apache/ibatis/executor/loader/cglib/CglibProxyFactory.html#L179">179</a></td></tr>
<tr class="a">
<td style="text-align: left;">org/apache/ibatis/executor/loader/javassist/JavassistProxyFactory.java</td>
<td><a href="./xref/org/apache/ibatis/executor/loader/javassist/JavassistProxyFactory.html#L176">176</a></td></tr>
<tr class="b">
<td colspan="2" style="text-align: left;">
<div class="verbatim">
<pre>implements MethodInterceptor {
private EnhancedDeserializationProxyImpl(Class<?> type, Map<String, ResultLoaderMap.LoadPair> unloadedProperties,
ObjectFactory objectFactory, List<Class<?>> constructorArgTypes, List<Object> constructorArgs) {
super(type, unloadedProperties, objectFactory, constructorArgTypes, constructorArgs);
}
public static Object createProxy(Object target, Map<String, ResultLoaderMap.LoadPair> unloadedProperties,
ObjectFactory objectFactory, List<Class<?>> constructorArgTypes, List<Object> constructorArgs) {
final Class<?> type = target.getClass();
EnhancedDeserializationProxyImpl callback = new EnhancedDeserializationProxyImpl(type, unloadedProperties,
objectFactory, constructorArgTypes, constructorArgs);
Object enhanced = createStaticProxy(type, callback, constructorArgTypes, constructorArgs);
PropertyCopier.copyBeanProperties(type, target, enhanced);
return enhanced;
}
@Override
public Object intercept(Object enhanced, Method method, Object[] args, MethodProxy methodProxy) throws Throwable {</pre></div></td></tr></table>
<table class="table table-striped">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td style="text-align: left;">org/apache/ibatis/executor/loader/cglib/CglibProxyFactory.java</td>
<td><a href="./xref/org/apache/ibatis/executor/loader/cglib/CglibProxyFactory.html#L150">150</a></td></tr>
<tr class="a">
<td style="text-align: left;">org/apache/ibatis/executor/loader/javassist/JavassistProxyFactory.java</td>
<td><a href="./xref/org/apache/ibatis/executor/loader/javassist/JavassistProxyFactory.html#L147">147</a></td></tr>
<tr class="b">
<td colspan="2" style="text-align: left;">
<div class="verbatim">
<pre>return new CglibSerialStateHolder(original, lazyLoader.getProperties(), objectFactory, constructorArgTypes,
constructorArgs);
} else {
return original;
}
}
if (lazyLoader.size() > 0 && !FINALIZE_METHOD.equals(methodName)) {
if (aggressive || lazyLoadTriggerMethods.contains(methodName)) {
lazyLoader.loadAll();
} else if (PropertyNamer.isSetter(methodName)) {
final String property = PropertyNamer.methodToProperty(methodName);
lazyLoader.remove(property);
} else if (PropertyNamer.isGetter(methodName)) {
final String property = PropertyNamer.methodToProperty(methodName);
if (lazyLoader.hasLoader(property)) {
lazyLoader.load(property);
}
}
}
return methodProxy.invokeSuper(enhanced, args);</pre></div></td></tr></table>
<table class="table table-striped">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td style="text-align: left;">org/apache/ibatis/logging/commons/JakartaCommonsLoggingImpl.java</td>
<td><a href="./xref/org/apache/ibatis/logging/commons/JakartaCommonsLoggingImpl.html#L29">29</a></td></tr>
<tr class="a">
<td style="text-align: left;">org/apache/ibatis/logging/slf4j/Slf4jImpl.java</td>
<td><a href="./xref/org/apache/ibatis/logging/slf4j/Slf4jImpl.html#L48">48</a></td></tr>
<tr class="b">
<td colspan="2" style="text-align: left;">
<div class="verbatim">
<pre>log = LogFactory.getLog(clazz);
}
@Override
public boolean isDebugEnabled() {
return log.isDebugEnabled();
}
@Override
public boolean isTraceEnabled() {
return log.isTraceEnabled();
}
@Override
public void error(String s, Throwable e) {
log.error(s, e);
}
@Override
public void error(String s) {
log.error(s);
}
@Override
public void debug(String s) {
log.debug(s);
}
@Override
public void trace(String s) {
log.trace(s);
}
@Override
public void warn(String s) {
log.warn(s);
}
}</pre></div></td></tr></table>
<table class="table table-striped">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td style="text-align: left;">org/apache/ibatis/logging/commons/JakartaCommonsLoggingImpl.java</td>
<td><a href="./xref/org/apache/ibatis/logging/commons/JakartaCommonsLoggingImpl.html#L30">30</a></td></tr>
<tr class="a">
<td style="text-align: left;">org/apache/ibatis/logging/log4j2/Log4j2Impl.java</td>
<td><a href="./xref/org/apache/ibatis/logging/log4j2/Log4j2Impl.html#L38">38</a></td></tr>
<tr class="b">
<td style="text-align: left;">org/apache/ibatis/logging/slf4j/Slf4jImpl.java</td>
<td><a href="./xref/org/apache/ibatis/logging/slf4j/Slf4jImpl.html#L49">49</a></td></tr>
<tr class="a">
<td style="text-align: left;">org/apache/ibatis/logging/slf4j/Slf4jLoggerImpl.java</td>
<td><a href="./xref/org/apache/ibatis/logging/slf4j/Slf4jLoggerImpl.html#L30">30</a></td></tr>
<tr class="b">
<td colspan="2" style="text-align: left;">
<div class="verbatim">
<pre>}
@Override
public boolean isDebugEnabled() {
return log.isDebugEnabled();
}
@Override
public boolean isTraceEnabled() {
return log.isTraceEnabled();
}
@Override
public void error(String s, Throwable e) {
log.error(s, e);
}
@Override
public void error(String s) {
log.error(s);
}
@Override
public void debug(String s) {
log.debug(s);
}
@Override
public void trace(String s) {
log.trace(s);
}
@Override
public void warn(String s) {
log.warn(s);
}
}</pre></div></td></tr></table>
<table class="table table-striped">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td style="text-align: left;">org/apache/ibatis/executor/loader/cglib/CglibProxyFactory.java</td>
<td><a href="./xref/org/apache/ibatis/executor/loader/cglib/CglibProxyFactory.html#L59">59</a></td></tr>
<tr class="a">
<td style="text-align: left;">org/apache/ibatis/executor/loader/javassist/JavassistProxyFactory.java</td>
<td><a href="./xref/org/apache/ibatis/executor/loader/javassist/JavassistProxyFactory.html#L55">55</a></td></tr>
<tr class="b">
<td colspan="2" style="text-align: left;">
<div class="verbatim">
<pre>"Cannot enable lazy loading because CGLIB is not available. Add CGLIB to your classpath.", e);
}
}
@Override
public Object createProxy(Object target, ResultLoaderMap lazyLoader, Configuration configuration,
ObjectFactory objectFactory, List<Class<?>> constructorArgTypes, List<Object> constructorArgs) {
return EnhancedResultObjectProxyImpl.createProxy(target, lazyLoader, configuration, objectFactory,
constructorArgTypes, constructorArgs);
}
public Object createDeserializationProxy(Object target, Map<String, ResultLoaderMap.LoadPair> unloadedProperties,
ObjectFactory objectFactory, List<Class<?>> constructorArgTypes, List<Object> constructorArgs) {
return EnhancedDeserializationProxyImpl.createProxy(target, unloadedProperties, objectFactory, constructorArgTypes,
constructorArgs);
}
static Object createStaticProxy(Class<?> type, Callback callback, List<Class<?>> constructorArgTypes,</pre></div></td></tr></table>
<table class="table table-striped">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td style="text-align: left;">org/apache/ibatis/cache/decorators/SoftCache.java</td>
<td><a href="./xref/org/apache/ibatis/cache/decorators/SoftCache.html#L40">40</a></td></tr>
<tr class="a">
<td style="text-align: left;">org/apache/ibatis/cache/decorators/WeakCache.java</td>
<td><a href="./xref/org/apache/ibatis/cache/decorators/WeakCache.html#L40">40</a></td></tr>
<tr class="b">
<td colspan="2" style="text-align: left;">
<div class="verbatim">
<pre>public SoftCache(Cache delegate) {
this.delegate = delegate;
this.numberOfHardLinks = 256;
this.hardLinksToAvoidGarbageCollection = new LinkedList<>();
this.queueOfGarbageCollectedEntries = new ReferenceQueue<>();
}
@Override
public String getId() {
return delegate.getId();
}
@Override
public int getSize() {
removeGarbageCollectedItems();
return delegate.getSize();
}
public void setSize(int size) {
this.numberOfHardLinks = size;
}
@Override
public void putObject(Object key, Object value) {
removeGarbageCollectedItems();
delegate.putObject(key, new SoftEntry(key, value, queueOfGarbageCollectedEntries));</pre></div></td></tr></table>
<table class="table table-striped">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td style="text-align: left;">org/apache/ibatis/executor/BaseExecutor.java</td>
<td><a href="./xref/org/apache/ibatis/executor/BaseExecutor.html#L212">212</a></td></tr>
<tr class="a">
<td style="text-align: left;">org/apache/ibatis/scripting/defaults/DefaultParameterHandler.java</td>
<td><a href="./xref/org/apache/ibatis/scripting/defaults/DefaultParameterHandler.html#L69">69</a></td></tr>
<tr class="b">
<td colspan="2" style="text-align: left;">
<div class="verbatim">
<pre>if (parameterMapping.getMode() != ParameterMode.OUT) {
Object value;
String propertyName = parameterMapping.getProperty();
if (boundSql.hasAdditionalParameter(propertyName)) {
value = boundSql.getAdditionalParameter(propertyName);
} else if (parameterObject == null) {
value = null;
} else if (typeHandlerRegistry.hasTypeHandler(parameterObject.getClass())) {
value = parameterObject;
} else {
if (metaObject == null) {
metaObject = configuration.newMetaObject(parameterObject);
}
value = metaObject.getValue(propertyName);
}</pre></div></td></tr></table></section></section>
</main>
</div>
</div>
<hr/>
<footer>
<div class="container-fluid">
<div class="row-fluid">
<p>© 2009–2024
<a href="https://www.mybatis.org/">MyBatis.org</a>
</p>
</div>
</div>
</footer>
<script>
if(anchors) {
anchors.add();
}
</script>
</body>
</html>