swh:1:snp:113c758bbca8ab355325fa13c5762925d199e835
Raw File
Tip revision: 669d5b245cbe2efedbf2ae777ed633accf98e9c4 authored by Iwao AVE! on 03 July 2024, 03:06:24 UTC
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&lt;?&gt; type;
    private final ResultLoaderMap lazyLoader;
    private final boolean aggressive;
    private final Set&lt;String&gt; lazyLoadTriggerMethods;
    private final ObjectFactory objectFactory;
    private final List&lt;Class&lt;?&gt;&gt; constructorArgTypes;
    private final List&lt;Object&gt; constructorArgs;
    private final ReentrantLock lock = new ReentrantLock();

    private EnhancedResultObjectProxyImpl(Class&lt;?&gt; type, ResultLoaderMap lazyLoader, Configuration configuration,
        ObjectFactory objectFactory, List&lt;Class&lt;?&gt;&gt; constructorArgTypes, List&lt;Object&gt; 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&lt;Class&lt;?&gt;&gt; constructorArgTypes, List&lt;Object&gt; constructorArgs) {
      final Class&lt;?&gt; 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&lt;String&gt; {

  @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&lt;?&gt; type, Map&lt;String, ResultLoaderMap.LoadPair&gt; unloadedProperties,
        ObjectFactory objectFactory, List&lt;Class&lt;?&gt;&gt; constructorArgTypes, List&lt;Object&gt; constructorArgs) {
      super(type, unloadedProperties, objectFactory, constructorArgTypes, constructorArgs);
    }

    public static Object createProxy(Object target, Map&lt;String, ResultLoaderMap.LoadPair&gt; unloadedProperties,
        ObjectFactory objectFactory, List&lt;Class&lt;?&gt;&gt; constructorArgTypes, List&lt;Object&gt; constructorArgs) {
      final Class&lt;?&gt; 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() &gt; 0 &amp;&amp; !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>&quot;Cannot enable lazy loading because CGLIB is not available. Add CGLIB to your classpath.&quot;, e);
    }
  }

  @Override
  public Object createProxy(Object target, ResultLoaderMap lazyLoader, Configuration configuration,
      ObjectFactory objectFactory, List&lt;Class&lt;?&gt;&gt; constructorArgTypes, List&lt;Object&gt; constructorArgs) {
    return EnhancedResultObjectProxyImpl.createProxy(target, lazyLoader, configuration, objectFactory,
        constructorArgTypes, constructorArgs);
  }

  public Object createDeserializationProxy(Object target, Map&lt;String, ResultLoaderMap.LoadPair&gt; unloadedProperties,
      ObjectFactory objectFactory, List&lt;Class&lt;?&gt;&gt; constructorArgTypes, List&lt;Object&gt; constructorArgs) {
    return EnhancedDeserializationProxyImpl.createProxy(target, unloadedProperties, objectFactory, constructorArgTypes,
        constructorArgs);
  }

  static Object createStaticProxy(Class&lt;?&gt; type, Callback callback, List&lt;Class&lt;?&gt;&gt; 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&lt;&gt;();
    this.queueOfGarbageCollectedEntries = new ReferenceQueue&lt;&gt;();
  }

  @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>
back to top