org.apache.fop.layoutmgr.table

Class CollapsingBorderModel

Known Direct Subclasses:
CollapsingBorderModelEyeCatching

public abstract class CollapsingBorderModel
extends java.lang.Object

This class is a superclass for the two collapsing border models defined in the XSL 1.0 specification.

Field Summary

protected static int
AFTER
after side
protected static int
BEFORE
before side
protected static int
END
end side
protected static int
START
start side

Method Summary

abstract BorderSpecification
determineWinner(BorderSpecification border1, BorderSpecification border2)
Returns the border which wins the border conflict resolution.
abstract BorderSpecification
determineWinner(BorderSpecification border1, BorderSpecification border2, boolean discard)
Returns the border which wins the border conflict resolution.
static CollapsingBorderModel
getBorderModelFor(int borderCollapse)
static int
getOtherSide(int side)
protected boolean
isVerticalRelation(int side)

Field Details

AFTER

protected static final int AFTER
after side
Field Value:
1

BEFORE

protected static final int BEFORE
before side
Field Value:
0

END

protected static final int END
end side
Field Value:
3

START

protected static final int START
start side
Field Value:
2

Method Details

determineWinner

public abstract BorderSpecification determineWinner(BorderSpecification border1,
                                                    BorderSpecification border2)
Returns the border which wins the border conflict resolution. Same as determineWinner(border1, border2, false).
Parameters:
border1 - a border specification
border2 - another border specification
Returns:
the winning border, null if the two borders are equivalent
See Also:
determineWinner

determineWinner

public abstract BorderSpecification determineWinner(BorderSpecification border1,
                                                    BorderSpecification border2,
                                                    boolean discard)
Returns the border which wins the border conflict resolution. In case the two borders are equivalent (identical, or only the color is different), null is returned.
Parameters:
border1 - a border specification
border2 - another border specification
discard - true if the .conditionality component of the border width must be taken into account
Returns:
the winning border, null if the two borders are equivalent

getBorderModelFor

public static CollapsingBorderModel getBorderModelFor(int borderCollapse)
Parameters:
borderCollapse - border collapse control
Returns:
the border model for the cell

getOtherSide

public static int getOtherSide(int side)
Parameters:
side - the side on the current cell
Returns:
the adjacent side on the neighbouring cell

isVerticalRelation

protected boolean isVerticalRelation(int side)
Parameters:
side - the side to investigate
Returns:
true if the adjacent cell is before or after

Copyright 1999-2008 The Apache Software Foundation. All Rights Reserved.