Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /* Soot - a J*va Optimization Framework
   * Copyright (C) 1997-1999 Raja Vallee-Rai
   *
   * This library is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
   * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
 
 /*
  * Modified by the Sable Research Group and others 1997-1999.  
  * See the 'credits' file distributed with Soot for the complete list of
  * contributors.  (Soot is distributed at http://www.sable.mcgill.ca/soot)
  */
 
 
 
 
 // Incomplete class
 
 package soot;




A class that provides static methods and constants to represent and work with with Java modifiers (ie public, final,...) Represents Java modifiers as int constants that can be packed and combined by bitwise operations and methods to query these.
 
 public class Modifier
 {
     public static final int ABSTRACT =     0x0400;
     public static final int FINAL =        0x0010;
     public static final int INTERFACE =    0x0200;
     public static final int NATIVE =       0x0100;
     public static final int PRIVATE =      0x0002;
     public static final int PROTECTED =    0x0004;
     public static final int PUBLIC =       0x0001;
     public static final int STATIC =       0x0008;
     public static final int SYNCHRONIZED = 0x0020;
     public static final int TRANSIENT =    0x0080; /* VARARGS for methods */
     public static final int VOLATILE =     0x0040; /* BRIDGE for methods */
     public static final int STRICTFP =     0x0800; 
     public static final int ANNOTATION =   0x2000; 
     public static final int ENUM =         0x4000; 
     
     private Modifier()
     {
     }
 
     public static boolean isAbstract(int m)
     {
         return (m & ) != 0;
     }
 
     public static boolean isFinal(int m )
     {
         return (m & ) != 0;
     }
 
     public static boolean isInterface(int m)
     {
         return (m & ) != 0;
     }
 
     public static boolean isNative(int m)
     {
         return (m & ) != 0;
     }
 
     public static boolean isPrivate(int m)
     {
         return (m & ) != 0;
     }
 
     public static boolean isProtected(int m)
     {
         return (m & ) != 0;
     }
 
     public static boolean isPublic(int m)
     {
         return (m & ) != 0;
     }
 
     public static boolean isStatic(int m)
    {
        return (m & ) != 0;
    }
    public static boolean isSynchronized(int m)
    {
        return (m & ) != 0;
    }
    public static boolean isTransient(int m )
    {
        return (m & ) != 0;
    }
    public static boolean isVolatile(int m)
    {
        return (m & ) != 0;
    }
    public static boolean isStrictFP(int m)
    {
        return (m & ) != 0;
    }
    
    public static boolean isAnnotation(int m)
    {
        return (m & ) != 0;
    }
    
    public static boolean isEnum(int m)
    {
        return (m & ) != 0;
    }
    
    
Converts the given modifiers to their string representation, in canonical form.

Parameters:
m a modifier set
Returns:
a textual representation of the modifiers.
    public static String toString(int m)
    {
        StringBuffer buffer = new StringBuffer();
        if(isPublic(m))
            buffer.append("public ");
        else if(isPrivate(m))
            buffer.append("private ");
        else if(isProtected(m))
            buffer.append("protected ");
        if(isAbstract(m))
            buffer.append("abstract ");
        if(isStatic(m))
            buffer.append("static ");
        if(isFinal(m))
            buffer.append("final ");
        if(isSynchronized(m))
            buffer.append("synchronized ");
        if(isNative(m))
            buffer.append("native ");
        if(isTransient(m))
            buffer.append("transient ");
        if(isVolatile(m))
            buffer.append("volatile ");
        if(isStrictFP(m))
            buffer.append("strictfp ");
        
        if(isAnnotation(m))
            buffer.append("annotation ");
        
        if(isEnum(m))
            buffer.append("enum ");
        
        if(isInterface(m))
        	buffer.append("interface ");
        
        return (buffer.toString()).trim();
    }
New to GrepCode? Check out our FAQ X