View Javadoc

    1   /*
    2    * Copyright 2004-2009 the Seasar Foundation and the Others.
    3    *
    4    * Licensed under the Apache License, Version 2.0 (the "License");
    5    * you may not use this file except in compliance with the License.
    6    * You may obtain a copy of the License at
    7    *
    8    *     http://www.apache.org/licenses/LICENSE-2.0
    9    *
    10   * Unless required by applicable law or agreed to in writing, software
    11   * distributed under the License is distributed on an "AS IS" BASIS,
    12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
    13   * either express or implied. See the License for the specific language
    14   * governing permissions and limitations under the License.
    15   */
    16  package org.seasar.cubby.plugins.s2.customizer;
    17
    18  import org.seasar.cubby.plugins.s2.aop.ActionMethodPointcutImpl;
    19  import org.seasar.framework.aop.Pointcut;
    20  import org.seasar.framework.util.StringUtil;
    21
    22  /**
    23   * {@link org.seasar.framework.aop.Pointcut ポイントカット}を構築するためのファクトリクラスです。
    24   *
    25   * @author baba
    26   */
    27  class PointcutFactory {
    28
    29  	/**
    30  	 * 指定されたポイントカットを表す文字列から、 {@link org.seasar.framework.aop.Pointcut ポイントカット}
    31  	 * を構築して返します。
    32  	 *
    33  	 * @param pointcutStr
    34  	 *            ポイントカットを表す文字列
    35  	 * @return ポイントカット
    36  	 */
    37  	public static Pointcut createPointcut(final String pointcutStr) {
    38  		if (!StringUtil.isEmpty(pointcutStr)) {
    39  			final String[] methodNames = StringUtil.split(pointcutStr, ", \n");
    40  			return new ActionMethodPointcutImpl(methodNames);
    41  		}
    42  		return null;
    43  	}
    44
    45  	/**
    46  	 * 指定された{@link Class クラス}から、 {@link org.seasar.framework.aop.Pointcut
    47  	 * ポイントカット}を構築して返します。
    48  	 *
    49  	 * @param clazz
    50  	 *            クラス
    51  	 * @return ポイントカット
    52  	 */
    53  	public static Pointcut createPointcut(final Class<?> clazz) {
    54  		return new ActionMethodPointcutImpl(clazz);
    55  	}
    56
    57  }