package wk.eofextensions;

import org.apache.commons.lang.builder.ToStringBuilder;

import wk.foundation.ToStringBuilderFactory;

import er.extensions.eof.ERXObjectStoreCoordinator;

/**
 * Subclass of ERX OSC to provide a better toString() for debugging.
 * @author kieran
 *
 */
public class WKObjectStoreCoordinator extends ERXObjectStoreCoordinator {

	public WKObjectStoreCoordinator() {
		super();
	}

	public WKObjectStoreCoordinator(boolean shouldClose) {
		super(shouldClose);
	}
	
	public WKObjectStoreCoordinator(boolean shouldClose, String name) {
		super(shouldClose);
		_name = name;
	}
	
	private String _name = "unnamed";
	
	/** @return a meaningful name for this OSC */
	public String name() {
		return _name;
	}
	
	/** @param name a meaningful name for this OSC */
	public void setName(String name) {
		_name = name;
	}
	
	@Override
	public String toString() {
		ToStringBuilder b = ToStringBuilderFactory.createPreferredToStringBuilderStyle(this);
		b.append("name", name());
		return b.toString();
	}
	
	public int snapshotCount() {
		return WKEOUtils.countSnapshotsForObjectStoreCoordinator(this);
	}

}
