if (property != null) {
return property.getValue(context, subProperty, fobj);
}
/* Try the corresponding absolute dimension. */
AbstractAbsoluteDimension absDimProperty = null;
final DtWritingMode writingMode = this.getWritingMode(fobj, context);
final AbsoluteAxis absoluteAxis = writingMode.getAbsoluteAxis(
relativeAxis);
if (absoluteAxis == AbsoluteAxis.HORIZONTAL) {
switch (subProperty) {
case MINIMUM: {
absDimProperty = (AbstractAbsoluteDimension) getProperty(
FoProperty.MIN_WIDTH);
break;
}
case MAXIMUM: {
absDimProperty = (AbstractAbsoluteDimension) getProperty(
FoProperty.MAX_WIDTH);
break;
}
default: {
absDimProperty = (AbstractAbsoluteDimension) getProperty(
FoProperty.WIDTH);
break;
}
}
} else if (absoluteAxis == AbsoluteAxis.VERTICAL) {
switch (subProperty) {
case MINIMUM: {
absDimProperty = (AbstractAbsoluteDimension) getProperty(
FoProperty.MIN_HEIGHT);
break;
}
case MAXIMUM: {
absDimProperty = (AbstractAbsoluteDimension) getProperty(
FoProperty.MAX_HEIGHT);
break;
}
default: {
absDimProperty = (AbstractAbsoluteDimension) getProperty(
FoProperty.HEIGHT);
break;
}
}
}
if (absDimProperty != null) {
return absDimProperty.getValue(context, fobj);
}
return AbstractRelativeDimension.getValueNoInstance();
}