| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You 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. |
| */ |
| |
| /* $Id$ */ |
| |
| package org.apache.fop.afp; |
| |
| import org.apache.fop.events.EventBroadcaster; |
| import org.apache.fop.events.EventProducer; |
| |
| /** |
| * Event producer interface for AFP-specific events. |
| */ |
| public interface AFPEventProducer extends EventProducer { |
| |
| /** Provider class for the event producer. */ |
| static final class Provider { |
| |
| private Provider() { |
| } |
| |
| /** |
| * Returns an event producer. |
| * @param broadcaster the event broadcaster to use |
| * @return the event producer |
| */ |
| public static AFPEventProducer get(EventBroadcaster broadcaster) { |
| return broadcaster.getEventProducerFor(AFPEventProducer.class); |
| } |
| } |
| |
| /** |
| * Warn about using default font setup. |
| * |
| * @param source the event source |
| * @event.severity WARN |
| */ |
| void warnDefaultFontSetup(Object source); |
| |
| /** |
| * Warn about a missing default "any" font configuration. |
| * |
| * @param source the event source |
| * @param style the font style |
| * @param weight the font weight |
| * @event.severity WARN |
| */ |
| void warnMissingDefaultFont(Object source, String style, int weight); |
| |
| /** |
| * A character set encoding error occurred. |
| * |
| * @param source the event source |
| * @param charSetName the character set name |
| * @param encoding the encoding |
| * @event.severity ERROR |
| */ |
| void characterSetEncodingError(Object source, String charSetName, String encoding); |
| |
| /** |
| * Triggered when an external resource fails to be embedded. |
| * |
| * @param source the event source |
| * @param resourceName the name of the resource where the error occurred |
| * @param e the original exception |
| * @event.severity ERROR |
| */ |
| void resourceEmbeddingError(Object source, String resourceName, Exception e); |
| |
| /** |
| * A mandatory font configuration node is missing at location. |
| * @param source the event source |
| * @param missingConfig the expected configuration element |
| * @param location the position of the missing element within the config file. |
| * @event.severity ERROR |
| */ |
| void fontConfigMissing(Object source, String missingConfig, String location); |
| |
| /** |
| * The character set given has an invalid name. |
| * @param source the event source |
| * @param msg the error message |
| * @event.severity ERROR |
| */ |
| void characterSetNameInvalid(Object source, String msg); |
| |
| /** |
| * The code page for an AFP font could not be found. |
| * @param source the event source |
| * @param e the original exception |
| * @event.severity ERROR |
| */ |
| void codePageNotFound(Object source, Exception e); |
| |
| /** |
| * This is a generic event for invalid configuration errors. |
| * @param source the event source |
| * @param e the original exception |
| * @event.severity ERROR |
| */ |
| void invalidConfiguration(Object source, Exception e); |
| |
| /** |
| * The characterset is missing metric information for the specified character |
| * @param source the event source |
| * @param character the character with missing metric information. |
| * @param charSet the character set containing missing metric information |
| * @event.severity WARN |
| */ |
| void charactersetMissingMetrics(Object source, char character, String charSet); |
| |
| /** |
| * Double-byte fonts are not currently supported in SVG. |
| * @param source the event source |
| * @param fontFamily name of DB font |
| * @event.severity WARN |
| */ |
| void invalidDBFontInSVG(Object source, String fontFamily); |
| } |