123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222 |
- /*
- * 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.layoutmgr;
-
- import org.xml.sax.Locator;
-
- import org.apache.fop.events.EventBroadcaster;
- import org.apache.fop.events.EventProducer;
- import org.apache.fop.fo.pagination.PageProductionException;
-
- /**
- * Event producer interface for block-level layout managers.
- */
- public interface BlockLevelEventProducer extends EventProducer {
-
- /**
- * Provider class for the event producer.
- */
- final class Provider {
-
- private Provider() { }
-
- /**
- * Returns an event producer.
- * @param broadcaster the event broadcaster to use
- * @return the event producer
- */
- public static BlockLevelEventProducer get(EventBroadcaster broadcaster) {
- return broadcaster.getEventProducerFor(BlockLevelEventProducer.class);
- }
- }
-
- /**
- * The contents of a table-row are too big to fit in the constraints.
- * @param source the event source
- * @param row the row number
- * @param effCellBPD the effective extent in block-progression direction of the cell
- * @param maxCellBPD the maximum extent in block-progression direction of the cell
- * @param loc the location of the error or null
- * @event.severity WARN
- */
- void rowTooTall(Object source, int row, int effCellBPD, int maxCellBPD, Locator loc);
-
- /**
- * Auto-table layout is not supported, yet.
- * @param source the event source
- * @param loc the location of the error or null
- * @event.severity INFO
- */
- void tableFixedAutoWidthNotSupported(Object source, Locator loc);
-
- /**
- * An formatting object is too wide.
- * @param source the event source
- * @param elementName the formatting object
- * @param effIPD the effective extent in inline-progression direction of the table contents
- * @param maxIPD the maximum extent in inline-progression direction available
- * @param loc the location of the error or null
- * @event.severity WARN
- */
- void objectTooWide(Object source, String elementName, int effIPD, int maxIPD, Locator loc);
-
- /**
- * An overconstrained geometry adjustment rule was triggered (5.3.4, XSL 1.0).
- * @param source the event source
- * @param elementName the formatting object
- * @param amount the amount of the adjustment (in mpt)
- * @param loc the location of the error or null
- * @event.severity INFO
- */
- void overconstrainedAdjustEndIndent(Object source, String elementName, int amount, Locator loc);
-
- /**
- * Contents IPD overflow a viewport.
- * @param source the event source
- * @param elementName the formatting object
- * @param amount the amount by which the contents overflow (in mpt)
- * @param clip true if the content will be clipped
- * @param canRecover indicates whether FOP can recover from this problem and continue working
- * @param loc the location of the error or null
- * @event.severity ERROR
- */
- void viewportIPDOverflow(Object source, String elementName, int amount, boolean clip,
- boolean canRecover, Locator loc);
-
- /**
- * Contents BPD overflow a viewport.
- * @param source the event source
- * @param elementName the formatting object
- * @param amount the amount by which the contents overflow (in mpt)
- * @param clip true if the content will be clipped
- * @param canRecover indicates whether FOP can recover from this problem and continue working
- * @param loc the location of the error or null
- * @event.severity ERROR
- */
- void viewportBPDOverflow(Object source, String elementName, int amount, boolean clip,
- boolean canRecover, Locator loc);
-
- /**
- * Contents overflow a region viewport.
- * @param source the event source
- * @param elementName the formatting object
- * @param page the page number/name where the overflow happened
- * @param amount the amount by which the contents overflow (in mpt)
- * @param clip true if the content will be clipped
- * @param canRecover indicates whether FOP can recover from this problem and continue working
- * @param loc the location of the error or null
- * @throws LayoutException the layout error provoked by the method call
- * @event.severity FATAL
- */
- void regionOverflow(Object source, String elementName,
- String page,
- int amount, boolean clip, boolean canRecover,
- Locator loc) throws LayoutException;
-
- /**
- * Contents overflow a static region viewport.
- * @param source the event source
- * @param elementName the formatting object
- * @param page the page number/name where the overflow happened
- * @param amount the amount by which the contents overflow (in mpt)
- * @param clip true if the content will be clipped
- * @param canRecover indicates whether FOP can recover from this problem and continue working
- * @param loc the location of the error or null
- * @throws LayoutException the layout error provoked by the method call
- * @event.severity FATAL
- */
- void staticRegionOverflow(Object source, String elementName,
- String page,
- int amount, boolean clip, boolean canRecover,
- Locator loc) throws LayoutException;
-
- /**
- * Indicates that FOP doesn't support flows that are not mapped to region-body, yet.
- * @param source the event source
- * @param flowName the flow name
- * @param masterName the page master name
- * @param loc the location of the error or null
- * @throws UnsupportedOperationException the layout error provoked by the method call
- * @event.severity FATAL
- */
- void flowNotMappingToRegionBody(Object source, String flowName, String masterName,
- Locator loc) throws UnsupportedOperationException;
-
- /**
- * A page sequence master is exhausted.
- * @param source the event source
- * @param pageSequenceMasterName the name of the page sequence master
- * @param canRecover indicates whether FOP can recover from this problem and continue working
- * @param loc the location of the error or null
- * @throws PageProductionException the error provoked by the method call
- * @event.severity FATAL
- */
- void pageSequenceMasterExhausted(Object source, String pageSequenceMasterName,
- boolean canRecover, Locator loc) throws PageProductionException;
-
- /**
- * No subsequences in page sequence master.
- * @param source the event source
- * @param pageSequenceMasterName the name of the page sequence master
- * @param loc the location of the error or null
- * @throws PageProductionException the error provoked by the method call
- * @event.severity FATAL
- */
- void missingSubsequencesInPageSequenceMaster(Object source, String pageSequenceMasterName,
- Locator loc) throws PageProductionException;
-
- /**
- * No single-page-master matching in page sequence master.
- * @param source the event source
- * @param pageSequenceMasterName the name of the page sequence master
- * @param pageMasterName the name of the page master not matching
- * @param loc the location of the error or null
- * @throws PageProductionException the error provoked by the method call
- * @event.severity FATAL
- */
- void noMatchingPageMaster(Object source, String pageSequenceMasterName,
- String pageMasterName, Locator loc) throws PageProductionException;
-
- /**
- * An element that cannot handle changing IPD (list, table) is flowing to a narrower
- * page. Some content may be lost.
- *
- * @param source the event source
- * @event.severity WARN
- */
- void nonRestartableContentFlowingToNarrowerPage(Object source);
-
- /**
- * A feasible layout has reached the given number of parts (columns or pages).
- *
- * @param source the event source
- * @param partCount the number of parts that the layout has reached
- * @event.severity INFO
- */
- void layoutHasReachedParts(Object source, int partCount);
-
- /**
- * Last page master reference missing.
- *
- * @param source the event source
- * @event.severity WARN
- */
- void lastPageMasterReferenceMissing(Object source, Locator loc);
- }
|