/* * Visibility.java * * Copyright (c) 2006-2008 David Holroyd * * 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 uk.co.badgersinfoil.metaas.dom; /** * Access allowed to a class member from other classes, as * specified by the <code>public</code>, <code>private</code>, * <code>protected</code> and <code>internal</code> modifiers (or lack of) in * the member's definition. */ public interface Visibility { /** * Private access, as specified by the "private" modifier. */ public static final Visibility PRIVATE = new AccessVisibility("private"); /** * Public access, as specified by the "public" modifier. */ public static final Visibility PUBLIC = new AccessVisibility("public"); /** * Protected access, as specified by the "protected" modifier. */ public static final Visibility PROTECTED = new AccessVisibility("protected"); /** * Internal access, as specified by the "internal" modifier. */ public static final Visibility INTERNAL = new AccessVisibility("internal"); /** * Default access, as specified by the lack of any specific keyword. */ public static final Visibility DEFAULT = new AccessVisibility("[default]"); }