Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2014 Attila Szegedi, Daniel Dekany, Jonathan Revusky
   * 
   * 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 freemarker.ext.beans;
 
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;

Flag values and masks for "type flags". "Type flags" is a set of bits that store information about the possible destination types at a parameter position of overloaded methods.
 
 class TypeFlags {

    
Indicates that the unwrapping hint will not be a specific numerical type; it must not be set if there's no numerical type at the given parameter index.
 
     static final int WIDENED_NUMERICAL_UNWRAPPING_HINT = 1;
     
     static final int BYTE = 4;
     static final int SHORT = 8;
     static final int INTEGER = 16;
     static final int LONG = 32;
     static final int FLOAT = 64;
     static final int DOUBLE = 128;
     static final int BIG_INTEGER = 256;
     static final int BIG_DECIMAL = 512;
     static final int UNKNOWN_NUMERICAL_TYPE = 1024;
 
     static final int ACCEPTS_NUMBER = 0x800;
     static final int ACCEPTS_DATE = 0x1000;
     static final int ACCEPTS_STRING = 0x2000;
     static final int ACCEPTS_BOOLEAN = 0x4000;
     static final int ACCEPTS_MAP = 0x8000;
     static final int ACCEPTS_LIST = 0x10000;
     static final int ACCEPTS_SET = 0x20000;
     static final int ACCEPTS_ARRAY = 0x40000;
    
    
Indicates the presence of the char or Character type
 
     static final int CHARACTER = 0x80000;
     
     static final int ACCEPTS_ANY_OBJECT =  |  |  | 
             |  |  |  | ;
     
     static final int MASK_KNOWN_INTEGERS =  |  |  |  | ;
     static final int MASK_KNOWN_NONINTEGERS =  |  | ;
     
     static int classToTypeFlags(Class pClass) {
         // We start with the most frequent cases  
         if (pClass == Object.class) {
             return ;
         } else if (pClass == String.class) {
             return ;
         } else if (pClass.isPrimitive()) {
             if (pClass == .return  | ;
             else if (pClass == .return  | ;
             else if (pClass == .return  | ;
             else if (pClass == .return  | ;
             else if (pClass == .return  | ;
             else if (pClass == .return  | ;
             else if (pClass == .return ;
             else if (pClass == .return ;
             else return 0;
         } else if (Number.class.isAssignableFrom(pClass)) {
             if (pClass == Integer.classreturn  | ;
             else if (pClass == Long.classreturn  | ;
             else if (pClass == Double.classreturn  | ;
             else if (pClass == Float.classreturn  | ;
             else if (pClass == Byte.classreturn  | ;
             else if (pClass == Short.classreturn  | ;
             else if (BigDecimal.class.isAssignableFrom(pClass)) return  | ;
             else if (BigInteger.class.isAssignableFrom(pClass)) return  | ;
             else return  | ;
         } else if (pClass.isArray()) {
             return ;
         } else {
             int flags = 0;
            if (pClass.isAssignableFrom(String.class)) {
                flags |= ;
            }
            if (pClass.isAssignableFrom(Date.class)) {
                flags |= ;
            }
            if (pClass.isAssignableFrom(Boolean.class)) {
                flags |= ;
            }
            if (pClass.isAssignableFrom(Map.class)) {
                flags |= ;
            }
            if (pClass.isAssignableFrom(List.class)) {
                flags |= ;
            }
            if (pClass.isAssignableFrom(Set.class)) {
                flags |= ;
            }
            
            if (pClass == Character.class) {
                flags |= ;
            }
            
            return flags;
        } 
    }
New to GrepCode? Check out our FAQ X