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.util.List;
 
自動登録用の抽象クラスです。

Author(s):
modified by jflute (originated in Seasar)
 
 public abstract class AbstractAutoRegister {

    
initメソッドアノテーションの定義です。
 
     public static final String INIT_METHOD = "registerAll";
 
     private LaContainer container;
 
     private List classPatterns = new ArrayList();
 
     private List ignoreClassPatterns = new ArrayList();

    
コンテナを返します。

Returns:
 
     public LaContainer getContainer() {
         return ;
     }

    
コンテナを設定します。

Parameters:
container
 
     public void setContainer(LaContainer container) {
         this. = container;
     }

    
追加されているClassPatternの数を返します。

Returns:
 
     public int getClassPatternSize() {
         return .size();
     }

    
ClassPatternを返します。

Parameters:
index
Returns:
 
     public ClassPattern getClassPattern(int index) {
         return (ClassPattern.get(index);
     }

    
自動登録で適用されるClassPatternを追加します。

Parameters:
packageName
shortClassNames
 
     public void addClassPattern(String packageNameString shortClassNames) {
 
         addClassPattern(new ClassPattern(packageNameshortClassNames));
     }

    
自動登録で適用されるClassPatternを追加します。

Parameters:
classPattern
 
     public void addClassPattern(ClassPattern classPattern) {
         .add(classPattern);
     }

    
自動登録されないClassPatternを追加します。

Parameters:
packageName
shortClassNames
    public void addIgnoreClassPattern(String packageNameString shortClassNames) {
        addIgnoreClassPattern(new ClassPattern(packageNameshortClassNames));
    }

    
自動登録されないClassPatternを追加します。

Parameters:
classPattern
    public void addIgnoreClassPattern(ClassPattern classPattern) {
        .add(classPattern);
    }

    
自動登録を行います。
    public abstract void registerAll();

    
org.lastaflute.di.core.ComponentDefがあるかどうかを返します。

Parameters:
name
Returns:
org.lastaflute.di.core.ComponentDefがあるかどうか
    protected boolean hasComponentDef(String name) {
        return findComponentDef(name) != null;
    }

    
org.lastaflute.di.core.ComponentDefを検索します。

Parameters:
name
Returns:
org.lastaflute.di.core.ComponentDef
    protected ComponentDef findComponentDef(String name) {
        if (name == null) {
            return null;
        }
        LaContainer container = getContainer();
        for (int i = 0; i < container.getComponentDefSize(); ++i) {
            ComponentDef cd = container.getComponentDef(i);
            if (name.equals(cd.getComponentName())) {
                return cd;
            }
        }
        return null;
    }

    
無視するかどうかを返します。

Parameters:
packageName
shortClassName
Returns:
無視するかどうか
    protected boolean isIgnore(String packageNameString shortClassName) {
        if (.isEmpty()) {
            return false;
        }
        for (int i = 0; i < .size(); ++i) {
            ClassPattern cp = (ClassPattern.get(i);
            if (!cp.isAppliedPackageName(packageName)) {
                continue;
            }
            if (cp.isAppliedShortClassName(shortClassName)) {
                return true;
            }
        }
        return false;
    }
New to GrepCode? Check out our FAQ X