Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
What Is fop.jar in fop-2.7-bin.zip
What Is fop.jar? I got it from the fop-2.7-bin.zip.
✍: FYIcenter.com
fop.jar in fop-2.7-bin.zip is the JAR file for FOP 2.7, which
is a print formatter driven by XSL formatting objects (XSL-FO).
You can obtain fop.jar from the build folder of the fop-2.7-bin.zip file.
Below is the information about the fop.jar (2.2) file:
JAR File Size and Download Location:
JAR name: fop.jar, fop-2.7.jar Target JDK version: 1.7 File name: fop.jar File size: 4442817 bytes Release date: 20-Jan-2022 Download: Apache FOP Website
Java source code files for fop.jar:
⏎ org/apache/fop/fo/flow/Markers.java
/* * 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$ */ package org.apache.fop.fo.flow; import java.util.HashMap; import java.util.Map; import java.util.Set; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.fop.fo.Constants; /** * A class to register and resolve markers. */ public final class Markers { // IsAny means either IsFirst or IsLast private Map<String, Marker> firstQualifyingIsFirst; private Map<String, Marker> firstQualifyingIsAny; private Map<String, Marker> lastQualifyingIsFirst; private Map<String, Marker> lastQualifyingIsLast; private Map<String, Marker> lastQualifyingIsAny; private static Log log = LogFactory.getLog(Markers.class); /** * Registers a marker with the position traits set. * Only the required markers are kept. * For "first-starting-within-page" it adds the markers * that are starting only if the marker class name is not * already added. * For "first-including-carryover" it adds any starting marker * if the marker class name is not already added. * For "last-starting-within-page" it adds all marks that * are starting, replacing earlier markers. * For "last-ending-within-page" it adds all markers that * are ending, replacing earlier markers. * * @param marks a map of markers to register * @param starting whether the registration happens at the start (true) or end (false) the the area * @param isfirst whether it is the first area of the parent LM * @param islast whether it is the last area of the parent LM */ public void register(Map<String, Marker> marks, boolean starting, boolean isfirst, boolean islast) { // TODO: find way to put the page number in the log tracing if (marks == null) { return; } if (log.isDebugEnabled()) { log.debug("--" + marks.keySet() + ": " + (starting ? "starting" : "ending") + (isfirst ? ", first" : "") + (islast ? ", last" : "")); } if (starting) { // at the start of the area, register is-first and any areas if (firstQualifyingIsAny == null) { firstQualifyingIsAny = new HashMap<String, Marker>(); } if (isfirst) { if (firstQualifyingIsFirst == null) { firstQualifyingIsFirst = new HashMap<String, Marker>(); } // first on scope: only put in new values, leave current Set<Map.Entry<String, Marker>> entries = marks.entrySet(); for (Map.Entry<String, Marker> entry : entries) { String key = entry.getKey(); Marker marker = entry.getValue(); if (!firstQualifyingIsFirst.containsKey(key)) { firstQualifyingIsFirst.put(key, marker); if (log.isTraceEnabled()) { log.trace("Adding marker " + key + " to firstQualifyingIsFirst"); } } if (!firstQualifyingIsAny.containsKey(key)) { firstQualifyingIsAny.put(key, marker); if (log.isTraceEnabled()) { log.trace("Adding marker " + key + " to firstQualifyingIsAny"); } } } if (lastQualifyingIsFirst == null) { lastQualifyingIsFirst = new HashMap<String, Marker>(); } // last on scope: replace all lastQualifyingIsFirst.putAll(marks); if (log.isTraceEnabled()) { log.trace("Adding all markers to LastStart"); } } else { // first on scope: only put in new values, leave current Set<Map.Entry<String, Marker>> entries = marks.entrySet(); for (Map.Entry<String, Marker> entry : entries) { String key = entry.getKey(); Marker marker = entry.getValue(); if (!firstQualifyingIsAny.containsKey(key)) { firstQualifyingIsAny.put(key, marker); if (log.isTraceEnabled()) { log.trace("Adding marker " + key + " to firstQualifyingIsAny"); } } } } } else { // at the end of the area, register is-last and any areas if (islast) { if (lastQualifyingIsLast == null) { lastQualifyingIsLast = new HashMap<String, Marker>(); } // last on page: replace all lastQualifyingIsLast.putAll(marks); if (log.isTraceEnabled()) { log.trace("Adding all markers to lastQualifyingIsLast"); } } if (lastQualifyingIsAny == null) { lastQualifyingIsAny = new HashMap<String, Marker>(); } // last on page: replace all lastQualifyingIsAny.putAll(marks); if (log.isTraceEnabled()) { log.trace("Adding all markers to lastQualifyingIsAny"); } } } /** * Retrieves the best candidate marker for the given position. * @return a Marker instance */ public Marker resolve(AbstractRetrieveMarker arm) { Marker mark = null; int pos = arm.getPosition(); String name = arm.getRetrieveClassName(); String posName = arm.getPositionLabel(); String localName = arm.getLocalName(); switch (pos) { case Constants.EN_FSWP: // retrieve-marker case Constants.EN_FIRST_STARTING: // retrieve-table-marker if (firstQualifyingIsFirst != null) { mark = firstQualifyingIsFirst.get(name); } if (mark == null && firstQualifyingIsAny != null) { mark = firstQualifyingIsAny.get(name); posName = "FirstAny after " + posName; } break; case Constants.EN_FIC: // retrieve-marker case Constants.EN_FIRST_INCLUDING_CARRYOVER: // retrieve-table-marker if (firstQualifyingIsAny != null) { mark = firstQualifyingIsAny.get(name); } break; case Constants.EN_LSWP: // retrieve-marker case Constants.EN_LAST_STARTING: // retrieve-table-marker if (lastQualifyingIsFirst != null) { mark = lastQualifyingIsFirst.get(name); } if (mark == null && lastQualifyingIsAny != null) { mark = lastQualifyingIsAny.get(name); posName = "LastAny after " + posName; } break; case Constants.EN_LEWP: // retrieve-marker case Constants.EN_LAST_ENDING: // retrieve-table-marker if (lastQualifyingIsLast != null) { mark = lastQualifyingIsLast.get(name); } if (mark == null && lastQualifyingIsAny != null) { mark = lastQualifyingIsAny.get(name); posName = "LastAny after " + posName; } break; default: throw new RuntimeException("Invalid position attribute in " + localName + "."); } if (log.isTraceEnabled()) { // TODO: find way to put the page number here log.trace(localName + ": name[" + name + "]; position [" + posName + "]"); } return mark; } /** Dumps the current marker data to the logger. */ public void dump() { if (log.isTraceEnabled()) { log.trace("FirstAny: " + this.firstQualifyingIsAny); log.trace("FirstStart: " + this.firstQualifyingIsFirst); log.trace("LastAny: " + this.lastQualifyingIsAny); log.trace("LastEnd: " + this.lastQualifyingIsLast); log.trace("LastStart: " + this.lastQualifyingIsFirst); } } }
⏎ org/apache/fop/fo/flow/Markers.java
Or download all of them as a single archive file:
File name: fop-2.7-src.zip File size: 3401312 bytes Release date: 2022-01-20 Download
⇒ "fop" Command in fop-2.7-bin.zip
2016-07-07, 10763👍, 0💬
Popular Posts:
Xalan-Java, Version 2.7.1, is an XSLT processor for transforming XML documents into HTML, text, or o...
Apache Commons Codec library provides implementations of common encoders and decoders such as Base64...
commons-fileupload-1.3.3 -sources.jaris the source JAR file for Apache Commons FileUpload 1.3., whic...
JLayer is a library that decodes/plays/converts MPEG 1/2/2.5 Layer 1/2/3 (i.e. MP3) in real time for...
How to download and install xml-commons External Source Package? The source package contains Java so...