1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * 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: OffDocumentItem.java 426576 2006-07-28 15:44:37Z jeremias $ */ 19 20 package org.apache.fop.area; 21 22 /** 23 * Interface for objects that are processed by the renderer outside 24 * of the actual document. 25 * An object implementing this interface can be handled by the renderer according to these 26 * possibilities: IMMEDIATELY, AFTER_PAGE or END_OF_DOC. 27 */ 28 public interface OffDocumentItem { 29 30 /** 31 * Process this extension immediately when 32 * being handled by the area tree. 33 */ 34 int IMMEDIATELY = 0; 35 36 /** 37 * Process this extension after the next page is rendered 38 * or prepared when being handled by the area tree. 39 */ 40 int AFTER_PAGE = 1; 41 42 /** 43 * Process this extension at the end of the document once 44 * all pages have been fully rendered. 45 */ 46 int END_OF_DOC = 2; 47 48 49 /** 50 * Get an indicator of when this item should be processed 51 * @return int constant (IMMEDIATELY, AFTER_PAGE, END_OF_DOC) 52 */ 53 int getWhenToProcess(); 54 55 /** 56 * Return a human-readable name for this ODI (for error messages, etc.) 57 * @return String name of ODI 58 */ 59 String getName(); 60 61 } 62