001    package org.shiftone.jrat.inject.bytecode;
002    
003    
004    /**
005     * @author jeff@shiftone.org (Jeff Drost)
006     */
007    public class Modifier extends java.lang.reflect.Modifier {
008    
009        public static final int PUBLIC_STATIC = PUBLIC | STATIC;
010        public static final int PUBLIC_STATIC_FINAL = PUBLIC_STATIC | FINAL;
011        public static final int PRIVATE_STATIC = PRIVATE | STATIC;
012        public static final int PRIVATE_STATIC_FINAL = PRIVATE_STATIC | FINAL;
013        private static final int NO_PUBLIC_PRIVATE_PROTECTED = ~(PRIVATE | PUBLIC | PROTECTED);
014    
015        public static int makePrivate(int modifier) {
016            return (modifier & NO_PUBLIC_PRIVATE_PROTECTED) | PRIVATE;
017        }
018    
019    
020        public static int makePublic(int modifier) {
021            return (modifier & NO_PUBLIC_PRIVATE_PROTECTED) | PUBLIC;
022        }
023    
024    
025        public static int makeProtected(int modifier) {
026            return (modifier & NO_PUBLIC_PRIVATE_PROTECTED) | PROTECTED;
027        }
028    
029    
030        public static int makeNonNative(int modifier) {
031            return (modifier & ~(NATIVE));
032        }
033    }