Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  * 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
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * See the License for the specific language governing permissions and
 * limitations under the License.
 package org.apache.poi.hslf.record;
This class holds the links to exernal objects referenced from the document.

Nick Burch
 public class ExObjList extends RecordContainer {
 	private byte[] _header;
 	private static long _type = 1033;
 	// Links to our more interesting children
Returns the ExObjListAtom of this list
 	public ExObjListAtom getExObjListAtom() { return ; }

Returns all the ExHyperlinks
 	public ExHyperlink[] getExHyperlinks() {
 		for(int i=0; i<.i++) {
 			if([iinstanceof ExHyperlink) {
 				links.add( (ExHyperlink)[i] );
 		return links.toArray(new ExHyperlink[links.size()]);

Set things up, and find our more interesting children
 	protected ExObjList(byte[] sourceint startint len) {
 		// Grab the header
 		 = new byte[8];
 		// Find our children
 		 = Record.findChildRecords(source,start+8,len-8);

Go through our child records, picking out the ones that are interesting, and saving those for use by the easy helper methods.
 	private void findInterestingChildren() {
 		// First child should be the atom
 		if([0] instanceof ExObjListAtom) {
 		} else {
 			throw new IllegalStateException("First child record wasn't a ExObjListAtom, was of type " + [0].getRecordType());

Create a new ExObjList, with blank fields
 	public ExObjList() {
 		 = new byte[8];
 		 = new Record[1];
 		// Setup our header block
 		[0] = 0x0f; // We are a container record
 		LittleEndian.putShort(, 2, (short));
 		// Setup our child records
 		[0] = new ExObjListAtom();

We are of type 1033
	public long getRecordType() { return ; }

Write the contents of the record back, so it can be written to disk
	public void writeOut(OutputStream outthrows IOException {

Lookup a hyperlink by its unique id

id hyperlink id
found ExHyperlink or null
    public ExHyperlink get(int id){
        for(int i=0; i<.i++) {
            if([iinstanceof ExHyperlink) {
                ExHyperlink rec = (ExHyperlink)[i];
                if (rec.getExHyperlinkAtom().getNumber() == id){
                    return rec;
        return null;
New to GrepCode? Check out our FAQ X