Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2014-2015 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.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
  * either express or implied. See the License for the specific language
  * governing permissions and limitations under the License.
  */
 package org.lastaflute.di.core.autoregister;
 
 import java.io.File;
 
jarファイルの中にあるコンポーネントを自動登録するための抽象クラスです。

Author(s):
modified by jflute (originated in Seasar)
modified by jflute (originated in Seasar)
 
 
     private String baseDir;
 
     private Pattern[] jarFileNamePatterns;

    
ベースとなるディレクトリを返します。

Returns:
 
     public String getBaseDir() {
         return ;
     }

    
ベースとなるディレクトリを設定します。

Parameters:
baseDir
 
     public void setBaseDir(String baseDir) {
         this. = baseDir;
     }
 
     public void registerAll() {
         if ( == null) {
             setupBaseDir();
         }
         File dir = new File();
         if (!dir.exists() || !dir.isDirectory()) {
             throw new ResourceNotFoundRuntimeException();
         }
         String[] jars = dir.list();
         for (int i = 0; i < jars.length; ++i) {
             if (!isAppliedJar(jars[i])) {
                 continue;
             }
             final JarFile jarFile = LdiJarFileUtil.create(findJar(jars[i]));
             ClassTraversal.forEach(jarFilethis);
         }
     }

    
ベースディレクトリを設定します。
 
     protected abstract void setupBaseDir();

    
jarファイルが適用されるかどうか返します。

Parameters:
jarFileName
Returns:
jarファイルが適用されるかどうか
 
     protected boolean isAppliedJar(final String jarFileName) {
         if ( == null) {
             return true;
         }
         String extention = LdiResourceUtil.getExtension(jarFileName);
         if (extention == null || !extention.equalsIgnoreCase("jar")) {
             return false;
         }
         String name = LdiResourceUtil.removeExtension(jarFileName);
         for (int i = 0; i < .; ++i) {
             if ([i].matcher(name).matches()) {
                 return true;
             }
        }
        return false;
    }

    
jarファイルを検索します。

Parameters:
jarFileName
Returns:
jarファイル
    protected File findJar(final String jarFileName) {
        return new File(jarFileName);
    }

    
jarファイル名を設定します。複数設定する場合は、','で区切ります。

Parameters:
jarFileNames
    public void setJarFileNames(String jarFileNames) {
        String[] array = LdiStringUtil.split(jarFileNames",");
         = new Pattern[array.length];
        for (int i = 0; i < array.length; ++i) {
            String s = array[i].trim();
            [i] = Pattern.compile(s);
        }
    }
New to GrepCode? Check out our FAQ X