/*
 * 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: Resolvable.java 1805173 2017-08-16 10:50:04Z ssteiner $ */

package org.apache.fop.area;

import java.util.List;

Resolvable Interface. Classes that implement this interface contain idrefs (see Section 5.11 of spec for definition of <idref> datatype) that are resolved when their target IDs are added to the area tree.
/** * Resolvable Interface. Classes that implement this interface contain * idrefs (see Section 5.11 of spec for definition of &lt;idref&gt; datatype) * that are resolved when their target IDs are added to the area tree. */
public interface Resolvable {
Check if this area has been resolved.
Returns:true once this area is resolved
/** * Check if this area has been resolved. * * @return true once this area is resolved */
boolean isResolved();
Get the array of idrefs of this resolvable object. If this object contains child resolvables that are resolved through this then it should return the idref's of the child also.
Returns:the id references for resolving this object
/** * Get the array of idrefs of this resolvable object. * If this object contains child resolvables that are * resolved through this then it should return the idref's of * the child also. * * @return the id references for resolving this object */
String[] getIDRefs();
This method allows the Resolvable object to resolve one of its unresolved idrefs with the actual set of PageViewports containing the target ID. The Resolvable object initially identifies to the AreaTreeHandler which idrefs it needs resolved. After the idrefs are resolved, the ATH calls this method to allow the Resolvable object to update itself with the PageViewport information.
Params:
  • id – an ID matching one of the Resolvable object's unresolved idref's.
  • pages – the list of PageViewports with the given ID
/** * This method allows the Resolvable object to resolve one of * its unresolved idrefs with the actual set of PageViewports * containing the target ID. The Resolvable object initially * identifies to the AreaTreeHandler which idrefs it needs * resolved. After the idrefs are resolved, the ATH calls this * method to allow the Resolvable object to update itself with * the PageViewport information. * * @param id an ID matching one of the Resolvable object's * unresolved idref's. * @param pages the list of PageViewports with the given ID * */
void resolveIDRef(String id, List<PageViewport> pages); }