org.eclipse.mat.parser.internal.SnapshotImplBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of haha Show documentation
Show all versions of haha Show documentation
Java library to automate the analysis of Android heap dumps.
/**
* ****************************************************************************
* Copyright (c) 2008 SAP AG.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* SAP AG - initial API and implementation
* *****************************************************************************
*/
package org.eclipse.mat.parser.internal;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import org.eclipse.mat.SnapshotException;
import org.eclipse.mat.collect.BitField;
import org.eclipse.mat.collect.HashMapIntObject;
import org.eclipse.mat.parser.IObjectReader;
import org.eclipse.mat.parser.index.IndexManager;
import org.eclipse.mat.parser.internal.util.ParserRegistry.Parser;
import org.eclipse.mat.parser.model.ClassImpl;
import org.eclipse.mat.parser.model.XGCRootInfo;
import org.eclipse.mat.parser.model.XSnapshotInfo;
import org.eclipse.mat.snapshot.model.IClass;
import org.eclipse.mat.util.IProgressListener;
public class SnapshotImplBuilder {
private XSnapshotInfo snapshotInfo;
/* package */ HashMapIntObject classCache;
/* package */ Map> classCacheByName;
private HashMapIntObject roots;
private HashMapIntObject> rootsPerThread;
/* package */ BitField arrayObjects;
/* package */ IndexManager indexManager;
public SnapshotImplBuilder(XSnapshotInfo snapshotInfo) {
this.snapshotInfo = snapshotInfo;
}
public XSnapshotInfo getSnapshotInfo() {
return snapshotInfo;
}
public void setIndexManager(IndexManager indexManager) {
this.indexManager = indexManager;
}
public IndexManager getIndexManager() {
return indexManager;
}
public void setClassCache(HashMapIntObject classCache) {
this.classCache = classCache;
}
public HashMapIntObject getClassCache() {
return classCache;
}
public void setRoots(HashMapIntObject roots) {
this.roots = roots;
}
public HashMapIntObject getRoots() {
return roots;
}
public void setRootsPerThread(HashMapIntObject> rootsPerThread) {
this.rootsPerThread = rootsPerThread;
}
public void setArrayObjects(BitField arrayObjects) {
this.arrayObjects = arrayObjects;
}
public SnapshotImpl create(Parser parser, IProgressListener listener)
throws IOException, SnapshotException {
IObjectReader heapObjectReader = parser.getObjectReader();
return SnapshotImpl.create(snapshotInfo, parser.getUniqueIdentifier(), heapObjectReader,
classCache, roots, rootsPerThread, arrayObjects, indexManager, listener);
}
}