001 /*
002 * Copyright 2002 - 2008 JEuclid, http://jeuclid.sf.net
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016
017 /* $Id: OperatorDictionary.java,v 241d8c4d0dc1 2009/09/04 14:15:03 max $ */
018
019 package net.sourceforge.jeuclid.elements.support.operatordict;
020
021 /**
022 * Interface for operator dictionaries.
023 *
024 * @version $Revision: 241d8c4d0dc1 $
025 */
026 public interface OperatorDictionary {
027
028 /**
029 * name for VERYVERYTHINMATHSPACE size of math space.
030 */
031 String NAME_VERYVERYTHINMATHSPACE = "veryverythinmathspace";
032
033 /**
034 * name for VERYTHINMATHSPACE size of math space.
035 */
036 String NAME_VERYTHINMATHSPACE = "verythinmathspace";
037
038 /**
039 * name for THINMATHSPACE size of math space.
040 */
041 String NAME_THINMATHSPACE = "thinmathspace";
042
043 /**
044 * name for MEDIUMMATHSPACE size of math space.
045 */
046 String NAME_MEDIUMMATHSPACE = "mediummathspace";
047
048 /**
049 * name for THICKMATHSPACE size of math space.
050 */
051 String NAME_THICKMATHSPACE = "thickmathspace";
052
053 /**
054 * name for VERYTHICKMATHSPACE size of math space.
055 */
056 String NAME_VERYTHICKMATHSPACE = "verythickmathspace";
057
058 /**
059 * name for VERYVERYTHICKMATHSPACE size of math space.
060 */
061 String NAME_VERYVERYTHICKMATHSPACE = "veryverythickmathspace";
062
063 /**
064 * name for INFINITY size of math space.
065 */
066 String NAME_INFINITY = "infinity";
067
068 /** Form value for prefix. */
069 String FORM_PREFIX = "prefix";
070
071 /** form value for infix. */
072 String FORM_INFIX = "infix";
073
074 /** form value for postfix. */
075 String FORM_POSTFIX = "postfix";
076
077 /**
078 * This value is returned, when default value of operator attribute doesn't
079 * exist in this dictionary so far.
080 */
081 String VALUE_UNKNOWN = "NULL";
082
083 /**
084 * Determines default value of the operator attribute.
085 *
086 * @param operator
087 * operator character
088 * @param form
089 * form string
090 * @param attributeName
091 * name of attribute
092 * @return VALUE_UNKOWN or value from dict.
093 * @throws UnknownAttributeException
094 * Raised, if wrong attributeName was provided.
095 */
096 String getDefaultAttributeValue(final String operator, final String form,
097 final String attributeName) throws UnknownAttributeException;
098
099 }