// Path: src/main/java/com/ojn/gexf4j/core/SlicableDatum.java
// public interface SlicableDatum<T extends Object> extends Slicable<T>, Datum {
// 
// }
// 
// Path: src/main/java/com/ojn/gexf4j/core/data/AttributeValueList.java
// public interface AttributeValueList extends List<AttributeValue> {
// 
// 	AttributeValueList addValue(Attribute attribute, String value);
// 	
// 	AttributeValue createValue(Attribute attribute, String value);
// }
// 
// Path: src/main/java/com/ojn/gexf4j/core/impl/data/AttributeValueListImpl.java
// public class AttributeValueListImpl extends ArrayList<AttributeValue> implements AttributeValueList {
// 	private static final long serialVersionUID = 7730475001078826140L;
// 
// 	public AttributeValueListImpl() {
// 		// do nothing
// 	}
// 	
// 	@Override
// 	public AttributeValueList addValue(Attribute attribute, String value) {
// 		createValue(attribute, value);
// 		return this;
// 	}
// 
// 	@Override
// 	public AttributeValue createValue(Attribute attribute, String value) {
// 		checkArgument(value != null, "Value cannot be null.");
// 		
// 		AttributeValue rv = new AttributeValueImpl(attribute);
// 		rv.setValue(value);
// 		add(rv);
// 		
// 		return rv;
// 	}
// }
// 
// Path: src/main/java/com/ojn/gexf4j/core/impl/dynamic/SlicableBase.java
// public abstract class SlicableBase<T extends Object> extends DynamicBase<T> implements Slicable<T> {
// 
// 	private List<Slice> slices = null;
// 	
// 	public SlicableBase() {
// 		slices = new ArrayList<Slice>();
// 	}
// 	
// 	@Override
// 	public List<Slice> getSlices() {
// 		return slices;
// 	}
// }


import com.ojn.gexf4j.core.SlicableDatum;
import com.ojn.gexf4j.core.data.AttributeValueList;
import com.ojn.gexf4j.core.impl.data.AttributeValueListImpl;
import com.ojn.gexf4j.core.impl.dynamic.SlicableBase;
package com.ojn.gexf4j.core.impl;


public abstract class SliceableDatumBase<T extends Object> extends SlicableBase<T> implements SlicableDatum<T> {

	private AttributeValueList attributes = null;
	
	public SliceableDatumBase() {
// Path: src/main/java/com/ojn/gexf4j/core/SlicableDatum.java
// public interface SlicableDatum<T extends Object> extends Slicable<T>, Datum {
// 
// }
// 
// Path: src/main/java/com/ojn/gexf4j/core/data/AttributeValueList.java
// public interface AttributeValueList extends List<AttributeValue> {
// 
// 	AttributeValueList addValue(Attribute attribute, String value);
// 	
// 	AttributeValue createValue(Attribute attribute, String value);
// }
// 
// Path: src/main/java/com/ojn/gexf4j/core/impl/data/AttributeValueListImpl.java
// public class AttributeValueListImpl extends ArrayList<AttributeValue> implements AttributeValueList {
// 	private static final long serialVersionUID = 7730475001078826140L;
// 
// 	public AttributeValueListImpl() {
// 		// do nothing
// 	}
// 	
// 	@Override
// 	public AttributeValueList addValue(Attribute attribute, String value) {
// 		createValue(attribute, value);
// 		return this;
// 	}
// 
// 	@Override
// 	public AttributeValue createValue(Attribute attribute, String value) {
// 		checkArgument(value != null, "Value cannot be null.");
// 		
// 		AttributeValue rv = new AttributeValueImpl(attribute);
// 		rv.setValue(value);
// 		add(rv);
// 		
// 		return rv;
// 	}
// }
// 
// Path: src/main/java/com/ojn/gexf4j/core/impl/dynamic/SlicableBase.java
// public abstract class SlicableBase<T extends Object> extends DynamicBase<T> implements Slicable<T> {
// 
// 	private List<Slice> slices = null;
// 	
// 	public SlicableBase() {
// 		slices = new ArrayList<Slice>();
// 	}
// 	
// 	@Override
// 	public List<Slice> getSlices() {
// 		return slices;
// 	}
// }


// Path: src/main/java/com/ojn/gexf4j/core/impl/SliceableDatumBase.java
import com.ojn.gexf4j.core.SlicableDatum;
import com.ojn.gexf4j.core.data.AttributeValueList;
import com.ojn.gexf4j.core.impl.data.AttributeValueListImpl;
import com.ojn.gexf4j.core.impl.dynamic.SlicableBase;

package com.ojn.gexf4j.core.impl;


public abstract class SliceableDatumBase<T extends Object> extends SlicableBase<T> implements SlicableDatum<T> {

	private AttributeValueList attributes = null;
	
	public SliceableDatumBase() {
		attributes = new AttributeValueListImpl();