package org.swellrt.model.unmutable;
import org.swellrt.model.ReadableBoolean;
import org.swellrt.model.ReadableFile;
import org.swellrt.model.ReadableNumber;
import org.swellrt.model.ReadableTypeVisitable;
import org.swellrt.model.ReadableTypeVisitor;
import org.waveprotocol.wave.media.model.AttachmentId;
public class UnmutableFile implements ReadableFile, ReadableTypeVisitable {
AttachmentId attachmentId;
String contentType;
protected UnmutableFile(AttachmentId attachmentId, String contentType) {
this.attachmentId = attachmentId;
this.contentType = contentType;
}
@Override
public void accept(ReadableTypeVisitor visitor) {
visitor.visit(this);
}
@Override
public AttachmentId getValue() {
return attachmentId;
}
@Override
public String toString() {
return attachmentId.serialise()
+ (contentType != null && !contentType.isEmpty() ? "," + contentType : "");
}
@Override
public UnmutableMap asMap() {
return null;
}
@Override
public UnmutableString asString() {
return null;
}
@Override
public UnmutableList asList() {
return null;
}
@Override
public UnmutableText asText() {
return null;
}
@Override
public UnmutableFile asFile() {
return this;
}
@Override
public AttachmentId getFileId() {
return attachmentId;
}
@Override
public String getContentType() {
return contentType;
}
@Override
public ReadableNumber asNumber() {
return null;
}
@Override
public ReadableBoolean asBoolean() {
return null;
}
}