package org.jactr.tools.itr.ortho.impl; import java.util.Collection; import java.util.Collections; import java.util.Map; import java.util.Set; import java.util.TreeMap; import java.util.TreeSet; import org.jactr.tools.itr.ortho.ISlice; public class Slice implements ISlice { final private long _id; final private long _firstIteration; final private long _lastIteration; final private Map<String, Object> _parameters; final private Set<String> _workingDirectories; public Slice(long id, long first, long last) { _id = id; _firstIteration = first; _lastIteration = last; _parameters = new TreeMap<String, Object>(); _workingDirectories = new TreeSet<String>(); } public long getFirstIteration() { return _firstIteration; } public long getId() { return _id; } public long getLastIteration() { return _lastIteration; } public Map<String, Object> getParameterValues() { return Collections.unmodifiableMap(_parameters); } public Object getProperty(String property) { return _parameters.get(property); } public Collection<String> getWorkingDirectories() { return Collections.unmodifiableCollection(_workingDirectories); } /** * relative to user.dir * @param relativePath */ public void addWorkingDirectory(String relativePath) { _workingDirectories.add(relativePath); } public void setProperty(String property, Object value) { _parameters.put(property, value); } public String toString() { StringBuilder sb = new StringBuilder("[Slice("); sb.append(_id).append(")[").append(_firstIteration).append(",").append( _lastIteration).append("]"); sb.append(_parameters).append("]"); return sb.toString(); } }