org.javaswift.joss.swift.statusgenerator.StatusGenerator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of joss Show documentation
Show all versions of joss Show documentation
OpenCADC Java Openstack Swift Storage JOSS (temporary fork)
The newest version!
package org.javaswift.joss.swift.statusgenerator;
import java.util.HashMap;
import java.util.Map;
import org.javaswift.joss.command.mock.core.CommandMock;
public class StatusGenerator {
StatusCursor genericCursor = new StatusCursor();
Map, StatusCursor> classCursors = new HashMap, StatusCursor>();
public int getStatus(Class clazz) {
StatusCursor cursor = getClassCursor(clazz);
if (cursor == null) {
cursor = genericCursor;
}
return cursor.getStatus();
}
public void addIgnore() {
addStatus(StatusCursor.IGNORE);
}
public void addIgnore(Class ignoreClass) {
addStatus(ignoreClass, StatusCursor.IGNORE);
}
public void addStatus(int status) {
genericCursor.addStatus(status);
}
public void addStatus(Class clazz, int status) {
StatusCursor cursor = getClassCursor(clazz);
if (cursor == null) {
cursor = new StatusCursor();
classCursors.put(clazz, cursor);
}
cursor.addStatus(status);
}
protected StatusCursor getClassCursor(Class clazz) {
return classCursors.get(clazz);
}
}