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.util;
 
 import java.util.Map;
 
定数アノテーション用のユーティリティクラスです。

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

    
インスタンスを構築します。
 
     protected ConstantAnnotationUtil() {
     }

    
key=value, key2=value2形式の式を java.util.Mapに変換します。

Parameters:
expression
Returns:
java.util.Mapに変換された式
 
     public static Map convertExpressionToMap(String expression) {
         if (LdiStringUtil.isEmpty(expression)) {
             return null;
         }
         MyTokenizer tokenizer = new MyTokenizer(expression);
         Map ret = new HashMap();
         for (int token = tokenizer.nextToken(); token != .token = tokenizer.nextToken()) {
             String s = tokenizer.getStringValue();
             token = tokenizer.nextToken();
             if (token == .) {
                 token = tokenizer.nextToken();
                 String s2 = tokenizer.getStringValue();
                 ret.put(ss2);
                 tokenizer.nextToken();
             } else if (token == .) {
                 ret.put(nulls);
             } else if (token == .) {
                 ret.put(nulls);
                 break;
             }
         }
         return ret;
     }

    
定数アノテーションかどうか返します。

Parameters:
field
Returns:
定数アノテーションかどうか
 
     public static boolean isConstantAnnotation(Field field) {
         return LdiModifierUtil.isPublicStaticFinalField(field) && field.getType().equals(String.class);
     }

    
定数アノテーション用のトークン認識クラスです。
 
     protected static class MyTokenizer extends Tokenizer {

        
等号です。
 
         public static final int TT_EQUAL = '=';

        
カンマです。
 
         public static final int TT_COMMA = ',';
 
         private static byte[] defaultCtype = new byte[256];
 
         static {
             setup();
        }

        
ConstantAnnotationUtil.MyTokenizerを作成します。

Parameters:
str
        public MyTokenizer(String str) {
            super(str);
        }

        
ConstantAnnotationUtil.MyTokenizerを作成します。

Parameters:
str
ctype
        public MyTokenizer(String strbyte[] ctype) {
            super(strctype);
        }
        protected static void setup(byte[] ctype2) {
            Tokenizer.setup(ctype2);
            ordinaryChar(ctype2'=');
            ordinaryChar(ctype2',');
            wordChar(ctype2'-');
        }
    }
New to GrepCode? Check out our FAQ X