1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
/*
* 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.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. */
class Provider {
/**
* Returns an event producer.
* @param broadcaster the event broadcaster to use
* @return the event producer
*/
public static TableEventProducer get(EventBroadcaster broadcaster) {
return (TableEventProducer)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;
/**
* 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);
}
|