001 /*
002 // $Id: MetadataElement.java 229 2009-05-08 19:11:29Z jhyde $
003 // This software is subject to the terms of the Eclipse Public License v1.0
004 // Agreement, available at the following URL:
005 // http://www.eclipse.org/legal/epl-v10.html.
006 // Copyright (C) 2006-2008 Julian Hyde
007 // All Rights Reserved.
008 // You must accept the terms of that agreement to use this software.
009 */
010 package org.olap4j.metadata;
011
012 import java.util.Locale;
013
014 /**
015 * An element which describes the structure of an OLAP schema.
016 *
017 * @author jhyde
018 * @version $Id: MetadataElement.java 229 2009-05-08 19:11:29Z jhyde $
019 * @since Oct 13, 2006
020 */
021 public interface MetadataElement {
022 /**
023 * Returns the name of this element.
024 *
025 * @return name
026 */
027 String getName();
028
029 /**
030 * Returns the unique name of this element within its schema.
031 *
032 * @return unique name of this element
033 */
034 String getUniqueName();
035
036 /**
037 * Returns the caption of this element in the given locale.
038 *
039 * <p>If <code>locale</code> is null or if no caption has been defined for
040 * the element in that locale, returns the caption in base locale.</p>
041 *
042 * <p>This method may return the empty string, but never returns null.</p>
043 *
044 * @param locale Locale
045 * @return Caption of this element in the given locale, or the base locale;
046 * never null.
047 */
048 String getCaption(Locale locale);
049
050 /**
051 * Returns the description of this element in the given locale.
052 *
053 * <p>If <code>locale</code> is null or if no description has been defined
054 * for the element in that locale, returns the description in base
055 * locale.</p>
056 *
057 * <p>This method may return the empty string, but never returns null.</p>
058 *
059 * @param locale Locale
060 * @return description of this element in the given locale, or the base
061 * locale; never null.
062 */
063 String getDescription(Locale locale);
064 }
065
066 // End MetadataElement.java