package rocks.inspectit.ui.rcp.model; import static rocks.inspectit.ui.rcp.model.Modifier.isPackage; import static rocks.inspectit.ui.rcp.model.Modifier.isPrivate; import static rocks.inspectit.ui.rcp.model.Modifier.isProtected; import static rocks.inspectit.ui.rcp.model.Modifier.isPublic; import org.eclipse.swt.graphics.Image; import rocks.inspectit.ui.rcp.InspectIT; import rocks.inspectit.ui.rcp.InspectITImages; /** * Creates the appropriate method visibility image for the int value. * * @author Patrice Bouillet * */ public final class ModifiersImageFactory { /** * The image key for the private visibility method. */ private static final String METHOD_PRIV_IMAGE = InspectITImages.IMG_METHOD_PRIVATE; /** * The image key for the default visibility method. */ private static final String METHOD_DEFAULT_IMAGE = InspectITImages.IMG_METHOD_DEFAULT; /** * The image key for the protected visibility method. */ private static final String METHOD_PROT_IMAGE = InspectITImages.IMG_METHOD_PROTECTED; /** * The image key for the public visibility method. */ private static final String METHOD_PUB_IMAGE = InspectITImages.IMG_METHOD_PUBLIC; /** * Hide constructor to disallow instantiation. */ private ModifiersImageFactory() { } /** * Returns the image for the given modifiers. This image should not be disposed. * * @param modifiers * The modifiers. * @return The image. */ public static Image getImage(int modifiers) { InspectIT inspectIT = InspectIT.getDefault(); if (isPrivate(modifiers)) { return inspectIT.getImage(METHOD_PRIV_IMAGE); } else if (isPackage(modifiers)) { return inspectIT.getImage(METHOD_DEFAULT_IMAGE); } else if (isProtected(modifiers)) { return inspectIT.getImage(METHOD_PROT_IMAGE); } else if (isPublic(modifiers)) { return inspectIT.getImage(METHOD_PUB_IMAGE); } return null; } }