package common;
import java.io.Externalizable;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Face implements Externalizable {
private static final long serialVersionUID = 2951581181148535005L;
private FaceModel model;
private List<Integer> parts;
public Face() {
}
public Face(FaceModel model, List<Integer> parts) {
this.model = model;
this.parts = Collections.unmodifiableList(new ArrayList<Integer>(parts));
}
public FaceModel getFaceModel() {
return model;
}
public List<Integer> getParts() {
return parts;
}
@Override
public String toString() {
return model + ":" + parts;
}
public void writeExternal(ObjectOutput out) throws IOException {
out.writeInt(1); out.writeObject(model);
out.writeObject(parts);
}
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
in.readInt(); model = (FaceModel) in.readObject();
parts = CommonUtils.uncheckedCast(in.readObject());
}
}