org.apache.fop.fo.flow.table.TableEventProducer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of org.apache.fop Show documentation
Show all versions of org.apache.fop Show documentation
The core maven build properties
The newest version!
/*
* 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: TableEventProducer.java 1805173 2017-08-16 10:50:04Z ssteiner $ */
package org.apache.fop.fo.flow.table;
import org.xml.sax.Locator;
import org.apache.fop.events.EventBroadcaster;
import org.apache.fop.events.EventProducer;
import org.apache.fop.fo.ValidationException;
import org.apache.fop.fo.expr.PropertyException;
/**
* Event producer interface for table-specific XSL-FO validation messages.
*/
public interface TableEventProducer 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 TableEventProducer get(EventBroadcaster broadcaster) {
return broadcaster.getEventProducerFor(TableEventProducer.class);
}
}
/**
* A value other than "auto" has been specified on fo:table.
* @param source the event source
* @param loc the location of the error or null
* @event.severity WARN
*/
void nonAutoBPDOnTable(Object source, Locator loc);
/**
* Padding on fo:table is ignored if the collapsing border model is active.
* @param source the event source
* @param loc the location of the error or null
* @event.severity WARN
*/
void noTablePaddingWithCollapsingBorderModel(Object source, Locator loc);
/**
* No mixing of table-rows and table-cells is allowed for direct children of table-body.
* @param source the event source
* @param elementName the name of the context node
* @param loc the location of the error or null
* @throws ValidationException the validation error provoked by the method call
* @event.severity FATAL
*/
void noMixRowsAndCells(Object source, String elementName, Locator loc)
throws ValidationException;
/**
* The table-footer was found after the table-body. FOP cannot recover with collapsed border
* model.
* @param source the event source
* @param elementName the name of the context node
* @param loc the location of the error or null
* @throws ValidationException the validation error provoked by the method call
* @event.severity FATAL
*/
void footerOrderCannotRecover(Object source, String elementName, Locator loc)
throws ValidationException;
/**
* starts-row/ends-row for fo:table-cells non-applicable for children of an fo:table-row
* @param source the event source
* @param loc the location of the error or null
* @event.severity WARN
*/
void startEndRowUnderTableRowWarning(Object source, Locator loc);
/**
* Column-number or number of cells in the row overflows the number of fo:table-column
* specified for the table.
* @param source the event source
* @param loc the location of the error or null
* @throws ValidationException the validation error provoked by the method call
* @event.severity FATAL
*/
void tooManyCells(Object source, Locator loc) throws ValidationException;
/**
* Property value must be 1 or bigger.
* @param source the event source
* @param propName the property name
* @param actualValue the actual value
* @param loc the location of the error or null
* @throws PropertyException the property error provoked by the method call
* @event.severity FATAL
*/
void valueMustBeBiggerGtEqOne(Object source, String propName,
int actualValue, Locator loc) throws PropertyException;
/**
* table-layout=fixed and column-width unspecified
* => falling back to proportional-column-width(1)
* @param source the event source
* @param loc the location of the error or null
* @event.severity WARN
*/
void warnImplicitColumns(Object source, Locator loc);
/**
* padding-* properties are not applicable.
* @param source the event source
* @param elementName the name of the context node
* @param loc the location of the error or null
* @event.severity WARN
*/
void paddingNotApplicable(Object source, String elementName, Locator loc);
/**
* Cell overlap.
* @param source the event source
* @param elementName the name of the context node
* @param column the column index of the overlapping cell
* @param loc the location of the error or null
* @throws PropertyException the property error provoked by the method call
* @event.severity FATAL
*/
void cellOverlap(Object source, String elementName, int column,
Locator loc) throws PropertyException;
/**
* @param source the event source
* @param elementName the name of the context node
* @param propValue the user-specified value of the column-number property
* @param columnNumber the generated value for the column-number property
* @param loc the location of the error or null
* @event.severity WARN
*/
void forceNextColumnNumber(Object source, String elementName, Number propValue,
int columnNumber, Locator loc);
/**
* Break ignored due to row spanning.
* @param source the event source
* @param elementName the name of the context node
* @param breakBefore true for "break-before", false for "break-after"
* @param loc the location of the error or null
* @event.severity WARN
*/
void breakIgnoredDueToRowSpanning(Object source, String elementName, boolean breakBefore,
Locator loc);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy