01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: /* $Id: BorderElement.java 426576 2006-07-28 15:44:37Z jeremias $ */
19:
20: package org.apache.fop.layoutmgr;
21:
22: import org.apache.fop.datatypes.PercentBaseContext;
23: import org.apache.fop.fo.properties.CondLengthProperty;
24: import org.apache.fop.traits.MinOptMax;
25:
26: /**
27: * This represents an unresolved border element.
28: */
29: public class BorderElement extends BorderOrPaddingElement {
30:
31: /**
32: * Main constructor
33: * @param position the Position instance needed by the addAreas stage of the LMs.
34: * @param side the side to which this space element applies.
35: * @param condLength the length-conditional property for a border or padding specification
36: * @param isFirst true if this is a padding- or border-before of the first area generated.
37: * @param isLast true if this is a padding- or border-after of the last area generated.
38: * @param context the property evaluation context
39: */
40: public BorderElement(Position position,
41: CondLengthProperty condLength, RelSide side,
42: boolean isFirst, boolean isLast, PercentBaseContext context) {
43: super (position, condLength, side, isFirst, isLast, context);
44: }
45:
46: /** @see org.apache.fop.layoutmgr.UnresolvedListElementWithLength */
47: public void notifyLayoutManager(MinOptMax effectiveLength) {
48: LayoutManager lm = getOriginatingLayoutManager();
49: if (lm instanceof ConditionalElementListener) {
50: ((ConditionalElementListener) lm).notifyBorder(getSide(),
51: effectiveLength);
52: } else {
53: log
54: .warn("Cannot notify LM. It does not implement ConditionalElementListener: "
55: + lm.getClass().getName());
56: }
57: }
58:
59: /** @see java.lang.Object#toString() */
60: public String toString() {
61: StringBuffer sb = new StringBuffer("Border[");
62: sb.append(super .toString());
63: sb.append("]");
64: return sb.toString();
65: }
66:
67: }
|