EMMA Coverage Report (generated Thu Nov 26 15:54:18 CST 2009)
[all classes][org.eclipse.pde.api.tools.internal.provisional]

COVERAGE SUMMARY FOR SOURCE FILE [VisibilityModifiers.java]

nameclass, %method, %block, %line, %
VisibilityModifiers.java100% (1/1)50%  (3/6)42%  (22/53)36%  (5/14)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class VisibilityModifiers100% (1/1)50%  (3/6)42%  (22/53)36%  (5/14)
VisibilityModifiers (): void 0%   (0/1)0%   (0/3)0%   (0/1)
isPermissiblePrivate (int): boolean 0%   (0/1)0%   (0/8)0%   (0/1)
isSPI (int): boolean 0%   (0/1)0%   (0/8)0%   (0/1)
getVisibilityName (int): String 100% (1/1)33%  (6/18)33%  (3/9)
isAPI (int): boolean 100% (1/1)100% (8/8)100% (1/1)
isPrivate (int): boolean 100% (1/1)100% (8/8)100% (1/1)

1/*******************************************************************************
2 * Copyright (c) 2007, 2009 IBM Corporation and others.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 * 
8 * Contributors:
9 *     IBM Corporation - initial API and implementation
10 *******************************************************************************/
11package org.eclipse.pde.api.tools.internal.provisional;
12 
13import org.eclipse.pde.api.tools.internal.search.UseReportConverter;
14import org.eclipse.pde.api.tools.internal.util.Util;
15 
16/**
17 * Class containing constants and utility methods for visibility modifiers
18 * 
19 * @since 1.0.0
20 */
21public final class VisibilityModifiers {
22        
23        /**
24         * Visibility constant indicating an element is public API.
25         */
26        public static final int API = 0x0001;
27        /**
28         * Visibility constant indicating a element should not be referenced. This 
29         * indicates the element is internal and not intended for general use.
30         */
31        public static final int PRIVATE = 0x0002;
32        /**
33         * Visibility constant indicating an element is public for a specific
34         * audience (service provider interface).
35         */
36        public static final int SPI = 0x0004;
37        
38        /**
39         * Visibility constant indicating an element is private, but some
40         * clients have been permitted access to the element.
41         */
42        public static final int PRIVATE_PERMISSIBLE = 0x0008;
43        
44        /**
45         * Bit mask of all visibilities.
46         */
47        public static final int ALL_VISIBILITIES = 0xFFFF;
48        
49        /**
50         * Constructor
51         * no instantiating
52         */
53        private VisibilityModifiers() {}
54        
55        /**
56         * Returns if the modifier is 'API'
57         * 
58         * @param modifiers the modifiers to resolve
59         * @return if the modifier is 'API'
60         */
61        public static final boolean isAPI(int modifiers) {
62                return (modifiers & API) > 0;
63        }
64        
65        /**
66         * Returns if the modifier is 'SPI'
67         * 
68         * @param modifiers the modifiers to resolve
69         * @return if the modifier is 'SPI'
70         */
71        public static final boolean isSPI(int modifiers) {
72                return (modifiers & SPI) > 0;
73        }
74        
75        /**
76         * Returns if the modifier is 'Private'
77         * 
78         * @param modifiers the modifiers to resolve
79         * @return if the modifier is 'Private'
80         */
81        public static final boolean isPrivate(int modifiers) {
82                return (modifiers & PRIVATE) > 0;
83        }
84        
85        /**
86         * Returns if the modifier is 'Private Permissible'
87         * 
88         * @param modifiers the modifiers to resolve
89         * @return if the modifier is 'Private Permissible'
90         */
91        public static final boolean isPermissiblePrivate(int modifiers) {
92                return (modifiers & PRIVATE_PERMISSIBLE) > 0;
93        }        
94        
95        /**
96         * Returns the string representation of the specified visibility modifier or <code>UNKNOWN_VISIBILITY</code>
97         * if the modifier is unknown.
98         * 
99         * @param visibility
100         * @return the string representation of the visibility or <code>UNKNOWN_VISIBILITY</code>
101         * @since 1.0.1
102         */
103        public static String getVisibilityName(int visibility) {
104                switch(visibility) {
105                        case ALL_VISIBILITIES: {
106                                return "ALL_VISIBILITIES"; //$NON-NLS-1$
107                        }
108                        case API: {
109                                return "API"; //$NON-NLS-1$
110                        }
111                        case PRIVATE: {
112                                return "PRIVATE"; //$NON-NLS-1$
113                        }
114                        case PRIVATE_PERMISSIBLE: {
115                                return "PRIVATE_PERMISSIBLE"; //$NON-NLS-1$
116                        }
117                        case UseReportConverter.FRAGMENT_PERMISSIBLE: {
118                                return "FRAGMENT_PERMISSIBLE"; //$NON-NLS-1$
119                        }
120                        case SPI: {
121                                return "SPI"; //$NON-NLS-1$
122                        }
123                        case 0: {
124                                return "INHERITED"; //$NON-NLS-1$
125                        }
126                }
127                return Util.UNKNOWN_VISIBILITY;
128        }
129}

[all classes][org.eclipse.pde.api.tools.internal.provisional]
EMMA 2.0.5312 EclEmma Fix 1 (C) Vladimir Roubtsov