Browse Source

No change; just add svn:keywords and svn:Id properties on new files


git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@525081 13f79535-47bb-0310-9956-ffa450edef68
pull/36/head
Vincent Hennebert 17 years ago
parent
commit
ef82a4628d

+ 131
- 131
src/java/org/apache/fop/area/DestinationData.java View File

@@ -1,131 +1,131 @@
/*
* 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.area;
import java.util.List;
import org.apache.fop.fo.extensions.destination.Destination;
import org.apache.fop.area.PageViewport;
/**
* An instance of this class is named destination from fox:destination
*/
public class DestinationData extends AbstractOffDocumentItem implements Resolvable {
// PDFReference (object reference) for this destination
private String goToReference;
// ID Reference for this bookmark
private String idRef;
// String Array to satisfy getIDRefs method
private String[] idRefs;
// PageViewport that the idRef item refers to
private PageViewport pageRef = null;
/**
* Create a new pdf destination data object.
* This is used by the destination to create a data object
* with a idref. During processing, this idref will be
* subsequently resolved to a particular PageViewport.
*
* @param destination the fo:bookmark object
*/
public DestinationData(Destination destination) {
idRef = destination.getInternalDestination();
idRefs = new String[] {idRef};
}
/**
* Get the idref for this destination
*
* @return the idref for the destination
*/
public String getIDRef() {
return idRef;
}
/**
* @see org.apache.fop.area.Resolvable#getIDRefs()
*/
public String[] getIDRefs() {
return idRefs;
}
/**
* Get the PageViewport object that this destination refers to
*
* @return the PageViewport that this destination points to
*/
public PageViewport getPageViewport() {
return pageRef;
}
/**
* Set the GoToReference for this destination
*
* @param goToReference the GoToReference to associate with this destination
*/
public void setGoToReference(String goToReference) {
this.goToReference = goToReference;
}
/**
* Get the GoToReference for this destination
*
* @return the GoToReference associated with this destination
*/
public String getGoToReference() {
return goToReference;
}
/**
* Check if this resolvable object has been resolved.
* For now, just return true.
* To do: Find a way to determine whether the destination has been resolved.
*
* @return true if this object has been resolved
*/
public boolean isResolved() {
return true;
}
/**
* Resolves the idref of this object by getting the PageViewport
* object that corresponds to the IDRef
*
* @see org.apache.fop.area.Resolvable#resolveIDRef(String, List)
* @todo check to make sure it works if multiple bookmark-items
* have the same idref
*/
public void resolveIDRef(String id, List pages) {
pageRef = (PageViewport) pages.get(0);
// TODO get rect area of id on page
}
/**
* @see org.apache.fop.area.OffDocumentItem#getName()
*/
public String getName() {
return "Destination";
}
}
/*
* 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.area;
import java.util.List;
import org.apache.fop.fo.extensions.destination.Destination;
import org.apache.fop.area.PageViewport;
/**
* An instance of this class is named destination from fox:destination
*/
public class DestinationData extends AbstractOffDocumentItem implements Resolvable {
// PDFReference (object reference) for this destination
private String goToReference;
// ID Reference for this bookmark
private String idRef;
// String Array to satisfy getIDRefs method
private String[] idRefs;
// PageViewport that the idRef item refers to
private PageViewport pageRef = null;
/**
* Create a new pdf destination data object.
* This is used by the destination to create a data object
* with a idref. During processing, this idref will be
* subsequently resolved to a particular PageViewport.
*
* @param destination the fo:bookmark object
*/
public DestinationData(Destination destination) {
idRef = destination.getInternalDestination();
idRefs = new String[] {idRef};
}
/**
* Get the idref for this destination
*
* @return the idref for the destination
*/
public String getIDRef() {
return idRef;
}
/**
* @see org.apache.fop.area.Resolvable#getIDRefs()
*/
public String[] getIDRefs() {
return idRefs;
}
/**
* Get the PageViewport object that this destination refers to
*
* @return the PageViewport that this destination points to
*/
public PageViewport getPageViewport() {
return pageRef;
}
/**
* Set the GoToReference for this destination
*
* @param goToReference the GoToReference to associate with this destination
*/
public void setGoToReference(String goToReference) {
this.goToReference = goToReference;
}
/**
* Get the GoToReference for this destination
*
* @return the GoToReference associated with this destination
*/
public String getGoToReference() {
return goToReference;
}
/**
* Check if this resolvable object has been resolved.
* For now, just return true.
* To do: Find a way to determine whether the destination has been resolved.
*
* @return true if this object has been resolved
*/
public boolean isResolved() {
return true;
}
/**
* Resolves the idref of this object by getting the PageViewport
* object that corresponds to the IDRef
*
* @see org.apache.fop.area.Resolvable#resolveIDRef(String, List)
* @todo check to make sure it works if multiple bookmark-items
* have the same idref
*/
public void resolveIDRef(String id, List pages) {
pageRef = (PageViewport) pages.get(0);
// TODO get rect area of id on page
}
/**
* @see org.apache.fop.area.OffDocumentItem#getName()
*/
public String getName() {
return "Destination";
}
}

+ 98
- 98
src/java/org/apache/fop/fo/extensions/destination/Destination.java View File

@@ -1,98 +1,98 @@
/*
* 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.extensions.destination;
import org.apache.fop.fo.ValidationException;
import org.apache.fop.apps.FOPException;
import org.apache.fop.fo.PropertyList;
import org.apache.fop.fo.FOEventHandler;
import org.apache.fop.fo.FONode;
import org.apache.fop.fo.FObj;
import org.apache.fop.fo.pagination.Root;
import org.apache.fop.fo.extensions.ExtensionElementMapping;
import org.xml.sax.Attributes;
import org.xml.sax.Locator;
/**
* Class for named destinations in PDF.
*/
public class Destination extends FObj {
String internalDestination;
Root root;
/**
* Constructs a Destination object (called by Maker).
*
* @param parent the parent formatting object
*/
public Destination(FONode parent) {
super(parent);
root = parent.getRoot();
}
/**
* @see org.apache.fop.fo.FObj#bind(PropertyList)
*/
public void bind(PropertyList pList) throws FOPException {
internalDestination = pList.get(PR_INTERNAL_DESTINATION).getString();
if (internalDestination.length() == 0) {
attributeError("Missing attribute: internal-destination must be specified.");
}
}
/**
* @see org.apache.fop.fo.FONode#endOfNode
*/
protected void endOfNode() throws FOPException {
root.addDestination(this);
}
/**
* @see org.apache.fop.fo.FONode#validateChildNode(Locator, String, String)
XSL/FOP: empty
*/
protected void validateChildNode(Locator loc, String nsURI, String localName)
throws ValidationException {
invalidChildError(loc, nsURI, localName);
}
public String getInternalDestination() {
return internalDestination;
}
/** @see org.apache.fop.fo.FONode#getNamespaceURI() */
public String getNamespaceURI() {
return ExtensionElementMapping.URI;
}
/** @see org.apache.fop.fo.FONode#getNormalNamespacePrefix() */
public String getNormalNamespacePrefix() {
return "fox";
}
/** @see org.apache.fop.fo.FONode#getLocalName() */
public String getLocalName() {
return "destination";
}
}
/*
* 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.extensions.destination;
import org.apache.fop.fo.ValidationException;
import org.apache.fop.apps.FOPException;
import org.apache.fop.fo.PropertyList;
import org.apache.fop.fo.FOEventHandler;
import org.apache.fop.fo.FONode;
import org.apache.fop.fo.FObj;
import org.apache.fop.fo.pagination.Root;
import org.apache.fop.fo.extensions.ExtensionElementMapping;
import org.xml.sax.Attributes;
import org.xml.sax.Locator;
/**
* Class for named destinations in PDF.
*/
public class Destination extends FObj {
String internalDestination;
Root root;
/**
* Constructs a Destination object (called by Maker).
*
* @param parent the parent formatting object
*/
public Destination(FONode parent) {
super(parent);
root = parent.getRoot();
}
/**
* @see org.apache.fop.fo.FObj#bind(PropertyList)
*/
public void bind(PropertyList pList) throws FOPException {
internalDestination = pList.get(PR_INTERNAL_DESTINATION).getString();
if (internalDestination.length() == 0) {
attributeError("Missing attribute: internal-destination must be specified.");
}
}
/**
* @see org.apache.fop.fo.FONode#endOfNode
*/
protected void endOfNode() throws FOPException {
root.addDestination(this);
}
/**
* @see org.apache.fop.fo.FONode#validateChildNode(Locator, String, String)
XSL/FOP: empty
*/
protected void validateChildNode(Locator loc, String nsURI, String localName)
throws ValidationException {
invalidChildError(loc, nsURI, localName);
}
public String getInternalDestination() {
return internalDestination;
}
/** @see org.apache.fop.fo.FONode#getNamespaceURI() */
public String getNamespaceURI() {
return ExtensionElementMapping.URI;
}
/** @see org.apache.fop.fo.FONode#getNormalNamespacePrefix() */
public String getNormalNamespacePrefix() {
return "fox";
}
/** @see org.apache.fop.fo.FONode#getLocalName() */
public String getLocalName() {
return "destination";
}
}

+ 89
- 89
src/java/org/apache/fop/fo/extensions/destination/DestinationElementMapping.java View File

@@ -1,89 +1,89 @@
/*
* 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.extensions.destination;
import java.util.HashMap;
import java.util.Set;
import org.apache.fop.fo.FONode;
import org.apache.fop.fo.ElementMapping;
import org.apache.fop.fo.extensions.ExtensionElementMapping;
import org.apache.fop.util.QName;
import org.apache.fop.fo.extensions.destination.Destination;
/**
* Set up the destination element mapping.
*/
public class DestinationElementMapping extends ElementMapping {
/**
* The FOP extension namespace URI
*/
public static final String URI = ExtensionElementMapping.URI;
private static final Set propertyAttributes = new java.util.HashSet();
static {
//The extension property (fox:*) for named destinations
propertyAttributes.add("internal-destination");
}
/**
* Constructor.
*/
public DestinationElementMapping() {
namespaceURI = URI;
}
/**
* @see org.apache.fop.fo.ElementMapping#initialize()
*/
protected void initialize() {
if (foObjs == null) {
foObjs = new HashMap();
foObjs.put("destination", new DestinationMaker());
}
}
static class DestinationMaker extends ElementMapping.Maker {
public FONode make(FONode parent) {
return new Destination(parent);
}
}
/**
* @see org.apache.fop.fo.ElementMapping#getStandardPrefix()
*/
public String getStandardPrefix() {
return "fox";
}
/**
* @see org.apache.fop.fo.ElementMapping#isAttributeProperty(org.apache.fop.util.QName)
*/
public boolean isAttributeProperty(QName attributeName) {
if (!URI.equals(attributeName.getNamespaceURI())) {
throw new IllegalArgumentException("The namespace URIs don't match");
}
return propertyAttributes.contains(attributeName.getLocalName());
}
}
/*
* 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.extensions.destination;
import java.util.HashMap;
import java.util.Set;
import org.apache.fop.fo.FONode;
import org.apache.fop.fo.ElementMapping;
import org.apache.fop.fo.extensions.ExtensionElementMapping;
import org.apache.fop.util.QName;
import org.apache.fop.fo.extensions.destination.Destination;
/**
* Set up the destination element mapping.
*/
public class DestinationElementMapping extends ElementMapping {
/**
* The FOP extension namespace URI
*/
public static final String URI = ExtensionElementMapping.URI;
private static final Set propertyAttributes = new java.util.HashSet();
static {
//The extension property (fox:*) for named destinations
propertyAttributes.add("internal-destination");
}
/**
* Constructor.
*/
public DestinationElementMapping() {
namespaceURI = URI;
}
/**
* @see org.apache.fop.fo.ElementMapping#initialize()
*/
protected void initialize() {
if (foObjs == null) {
foObjs = new HashMap();
foObjs.put("destination", new DestinationMaker());
}
}
static class DestinationMaker extends ElementMapping.Maker {
public FONode make(FONode parent) {
return new Destination(parent);
}
}
/**
* @see org.apache.fop.fo.ElementMapping#getStandardPrefix()
*/
public String getStandardPrefix() {
return "fox";
}
/**
* @see org.apache.fop.fo.ElementMapping#isAttributeProperty(org.apache.fop.util.QName)
*/
public boolean isAttributeProperty(QName attributeName) {
if (!URI.equals(attributeName.getNamespaceURI())) {
throw new IllegalArgumentException("The namespace URIs don't match");
}
return propertyAttributes.contains(attributeName.getLocalName());
}
}

+ 23
- 23
src/java/org/apache/fop/fo/extensions/destination/package.html View File

@@ -1,23 +1,23 @@
<!--
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$ -->
<HTML>
<TITLE>org.apache.fop.destination Package</TITLE>
<BODY>
<P>Classes to support named destinations (only relevant for PDF output)</P>
</BODY>
</HTML>
<!--
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$ -->
<HTML>
<TITLE>org.apache.fop.destination Package</TITLE>
<BODY>
<P>Classes to support named destinations (only relevant for PDF output)</P>
</BODY>
</HTML>

+ 138
- 138
src/java/org/apache/fop/pdf/PDFDestination.java View File

@@ -1,138 +1,138 @@
/*
* 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: PDFLink.java 426576 2006-07-28 15:44:37Z jeremias $ */
package org.apache.fop.pdf;
import org.apache.fop.area.DestinationData;
import org.apache.fop.area.PageViewport;
/**
* class representing a named destination
*/
public class PDFDestination extends PDFObject {
/**
* PDFReference (object reference) for this destination
*/
private String goToReference;
/**
* ID Reference for this destination
*/
private String idRef;
/**
* PageViewport to which the idRef item refers
*/
private PageViewport pageViewport = null;
/**
* create a named destination
*/
public PDFDestination(DestinationData destinationData) {
/* generic creation of PDF object */
super();
this.goToReference = destinationData.getGoToReference();
this.idRef = destinationData.getIDRef();
this.pageViewport = destinationData.getPageViewport();
}
/**
* @see org.apache.fop.pdf.PDFObject#toPDFString()
*/
public String toPDFString() {
String s = getObjectID()
+ "<<"
+ "/Limits [(" + idRef + ") (" + idRef + ")]\n"
+ "/Names [(" + idRef + ") " + goToReference + "]"
+ "\n>>\nendobj\n";
return s;
}
/*
* example:
*
* 249 0 obj
* <<
* /Limits [(drivervariables) (drivervariables)]
* /Names [(drivervariables) 73 0 R]
* >>
* endobj
*/
/**
* Sets the GoToReference in the associated DestinationData object.
*
* @param goToReference the reference to set in the associated DestinationData object.
*/
public void setGoToReference(String goToReference) {
this.goToReference = goToReference;
}
/**
* Returns the GoToReference from the associated DestinationData object.
*
* @return the GoToReference from the associated DestinationData object.
*/
public String getGoToReference() {
return this.goToReference;
}
/**
* Get the PageViewport object that this destination refers to
*
* @return the PageViewport that this destination points to
*/
public PageViewport getPageViewport() {
return this.pageViewport;
}
/**
* Returns the RefID from the associated DestinationData object.
*
* @return the RefID from the associated DestinationData object.
*/
public String getIDRef() {
return this.idRef;
}
/**
* Check if this equals another object.
*
* @param obj the object to compare
* @return true if this equals other object
*/
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || !(obj instanceof PDFDestination)) {
return false;
}
PDFDestination dest = (PDFDestination)obj;
if (dest.getIDRef() == this.getIDRef()) {
return true;
}
return true;
}
}
/*
* 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.pdf;
import org.apache.fop.area.DestinationData;
import org.apache.fop.area.PageViewport;
/**
* class representing a named destination
*/
public class PDFDestination extends PDFObject {
/**
* PDFReference (object reference) for this destination
*/
private String goToReference;
/**
* ID Reference for this destination
*/
private String idRef;
/**
* PageViewport to which the idRef item refers
*/
private PageViewport pageViewport = null;
/**
* create a named destination
*/
public PDFDestination(DestinationData destinationData) {
/* generic creation of PDF object */
super();
this.goToReference = destinationData.getGoToReference();
this.idRef = destinationData.getIDRef();
this.pageViewport = destinationData.getPageViewport();
}
/**
* @see org.apache.fop.pdf.PDFObject#toPDFString()
*/
public String toPDFString() {
String s = getObjectID()
+ "<<"
+ "/Limits [(" + idRef + ") (" + idRef + ")]\n"
+ "/Names [(" + idRef + ") " + goToReference + "]"
+ "\n>>\nendobj\n";
return s;
}
/*
* example:
*
* 249 0 obj
* <<
* /Limits [(drivervariables) (drivervariables)]
* /Names [(drivervariables) 73 0 R]
* >>
* endobj
*/
/**
* Sets the GoToReference in the associated DestinationData object.
*
* @param goToReference the reference to set in the associated DestinationData object.
*/
public void setGoToReference(String goToReference) {
this.goToReference = goToReference;
}
/**
* Returns the GoToReference from the associated DestinationData object.
*
* @return the GoToReference from the associated DestinationData object.
*/
public String getGoToReference() {
return this.goToReference;
}
/**
* Get the PageViewport object that this destination refers to
*
* @return the PageViewport that this destination points to
*/
public PageViewport getPageViewport() {
return this.pageViewport;
}
/**
* Returns the RefID from the associated DestinationData object.
*
* @return the RefID from the associated DestinationData object.
*/
public String getIDRef() {
return this.idRef;
}
/**
* Check if this equals another object.
*
* @param obj the object to compare
* @return true if this equals other object
*/
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || !(obj instanceof PDFDestination)) {
return false;
}
PDFDestination dest = (PDFDestination)obj;
if (dest.getIDRef() == this.getIDRef()) {
return true;
}
return true;
}
}

+ 79
- 79
src/java/org/apache/fop/pdf/PDFDests.java View File

@@ -1,79 +1,79 @@
/*
* 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: PDFLink.java 426576 2006-07-28 15:44:37Z jeremias $ */
package org.apache.fop.pdf;
import org.apache.fop.area.DestinationData;
/**
* class representing an /Dests object (part of a name dictionary)
*/
public class PDFDests extends PDFObject {
private String limitsRef;
/**
* create a named destination
*/
public PDFDests(String limitsRef) {
/* generic creation of PDF object */
super();
this.limitsRef = limitsRef;
}
/**
* @see org.apache.fop.pdf.PDFObject#toPDFString()
*/
public String toPDFString() {
String s = getObjectID()
+ "<<\n"
+ "/Dests " + limitsRef
+ "\n>>\nendobj\n";
return s;
}
/*
* example:
*
* 262 0 obj
* <<
* /Dests 260 0 R
* >>
* endobj
*/
/**
* Check if this equals another object.
*
* @param obj the object to compare
* @return true if this equals other object
*/
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || !(obj instanceof PDFDests)) {
return false;
}
return true;
}
}
/*
* 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.pdf;
import org.apache.fop.area.DestinationData;
/**
* class representing an /Dests object (part of a name dictionary)
*/
public class PDFDests extends PDFObject {
private String limitsRef;
/**
* create a named destination
*/
public PDFDests(String limitsRef) {
/* generic creation of PDF object */
super();
this.limitsRef = limitsRef;
}
/**
* @see org.apache.fop.pdf.PDFObject#toPDFString()
*/
public String toPDFString() {
String s = getObjectID()
+ "<<\n"
+ "/Dests " + limitsRef
+ "\n>>\nendobj\n";
return s;
}
/*
* example:
*
* 262 0 obj
* <<
* /Dests 260 0 R
* >>
* endobj
*/
/**
* Check if this equals another object.
*
* @param obj the object to compare
* @return true if this equals other object
*/
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || !(obj instanceof PDFDests)) {
return false;
}
return true;
}
}

+ 93
- 93
src/java/org/apache/fop/pdf/PDFLimits.java View File

@@ -1,93 +1,93 @@
/*
* 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: PDFLink.java 426576 2006-07-28 15:44:37Z jeremias $ */
package org.apache.fop.pdf;
import java.util.ArrayList;
import org.apache.fop.pdf.PDFDestination;
/**
* class representing a Limits object (part of the names dictionary for named destinations)
*/
public class PDFLimits extends PDFObject {
private ArrayList destinationList;
/**
* create a named destination
*/
public PDFLimits(ArrayList destinationList) {
/* generic creation of PDF object */
super();
this.destinationList = destinationList;
}
/**
* @see org.apache.fop.pdf.PDFObject#toPDFString()
*/
public String toPDFString() {
String[] idRefs = new String[destinationList.size()];
String kidsString = "";
for (int i = 0; i < destinationList.size(); i++) {
PDFDestination dest = (PDFDestination)destinationList.get(i);
idRefs[i] = dest.getIDRef();
kidsString += dest.referencePDF();
if (!(i == destinationList.size() - 1)) {
kidsString += " ";
}
}
String s = getObjectID()
+ "<<\n"
+ "/Limits [(" + idRefs[0] + ") (" + idRefs[destinationList.size() - 1] + ")]\n"
+ "/Kids [" + kidsString + "]"
+ "\n>>\nendobj\n";
return s;
}
/*
* example:
*
* 260 0 obj
* <<
* /Limits [(Annotate) (thumbnails)]
* /Kids [248 0 R 253 0 R 254 0 R 259 0 R]
* >>
* endobj
*/
/**
* Check if this equals another object.
*
* @param obj the object to compare
* @return true if this equals other object
*/
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || !(obj instanceof PDFLimits)) {
return false;
}
return true;
}
}
/*
* 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.pdf;
import java.util.ArrayList;
import org.apache.fop.pdf.PDFDestination;
/**
* class representing a Limits object (part of the names dictionary for named destinations)
*/
public class PDFLimits extends PDFObject {
private ArrayList destinationList;
/**
* create a named destination
*/
public PDFLimits(ArrayList destinationList) {
/* generic creation of PDF object */
super();
this.destinationList = destinationList;
}
/**
* @see org.apache.fop.pdf.PDFObject#toPDFString()
*/
public String toPDFString() {
String[] idRefs = new String[destinationList.size()];
String kidsString = "";
for (int i = 0; i < destinationList.size(); i++) {
PDFDestination dest = (PDFDestination)destinationList.get(i);
idRefs[i] = dest.getIDRef();
kidsString += dest.referencePDF();
if (!(i == destinationList.size() - 1)) {
kidsString += " ";
}
}
String s = getObjectID()
+ "<<\n"
+ "/Limits [(" + idRefs[0] + ") (" + idRefs[destinationList.size() - 1] + ")]\n"
+ "/Kids [" + kidsString + "]"
+ "\n>>\nendobj\n";
return s;
}
/*
* example:
*
* 260 0 obj
* <<
* /Limits [(Annotate) (thumbnails)]
* /Kids [248 0 R 253 0 R 254 0 R 259 0 R]
* >>
* endobj
*/
/**
* Check if this equals another object.
*
* @param obj the object to compare
* @return true if this equals other object
*/
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || !(obj instanceof PDFLimits)) {
return false;
}
return true;
}
}

Loading…
Cancel
Save