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