| /* |
| * Copyright 2011 Google Inc. |
| * |
| * 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 com.google.gwt.i18n.server; |
| |
| import com.google.gwt.i18n.shared.GwtLocale; |
| |
| import java.lang.annotation.Annotation; |
| |
| /** |
| * Describes a single interface with {@link Message}s. |
| */ |
| public interface MessageInterface { |
| |
| /** |
| * Visit this class and all messages within it, using the default locale. |
| * |
| * @param cv |
| * @throws MessageProcessingException |
| */ |
| void accept(MessageInterfaceVisitor cv) throws MessageProcessingException; |
| |
| /** |
| * Visit this class and all messages within it. |
| * |
| * @param cv |
| * @param locale |
| * @throws MessageProcessingException |
| */ |
| void accept(MessageInterfaceVisitor cv, GwtLocale locale) |
| throws MessageProcessingException; |
| |
| /** |
| * Return the requested annotation present on this message, including parents |
| * if the annotation is inherited. |
| * |
| * @param annotClass |
| * @return an annotation instance or null if not found |
| */ |
| <A extends Annotation> A getAnnotation(Class<A> annotClass); |
| |
| /** |
| * Get the unqualified class name (including parent classes for nested |
| * classes - ie, "Foo.Bar") of this {@link MessageInterface}. |
| * |
| * @return unqualified class name |
| */ |
| String getClassName(); |
| |
| /** |
| * Get the package name (ie, "org.example") of this {@link MessageInterface}. |
| * |
| * @return package name |
| */ |
| String getPackageName(); |
| |
| /** |
| * Get the fully qualified source name (ie, "org.example.Foo.Bar": if Bar is |
| * an inner class of Foo) of this message interface - generally used for |
| * error messages. |
| * |
| * @return fully qualified source name |
| */ |
| String getQualifiedName(); |
| |
| /** |
| * Check if a specified annotation is present on this message (including |
| * via inheritance if the annotation is inherited). |
| * |
| * @param annotClass |
| * @return true if the annotation is present |
| */ |
| boolean isAnnotationPresent(Class<? extends Annotation> annotClass); |
| } |