00001 00005 package edu.mit.csail.sdg.squander.serializer.special; 00006 00007 import java.util.LinkedList; 00008 import java.util.List; 00009 00010 import edu.mit.csail.sdg.squander.absstate.FieldValue; 00011 import edu.mit.csail.sdg.squander.spec.JavaScene; 00012 00018 public class StringSer implements IObjSer { 00019 00020 @Override 00021 public boolean accepts(Class<?> clz) { 00022 return String.class == clz; 00023 } 00024 00025 @Override 00026 public Object newInstance(Class<?> cls) { 00027 throw new RuntimeException("cannot create a new String"); 00028 } 00029 00030 @Override 00031 public Object concrFunc(Object obj, FieldValue fieldValue) { 00032 throw new RuntimeException("There should be no fields for Java String class"); 00033 } 00034 00035 @Override 00036 public List<FieldValue> absFunc(JavaScene javaScene, Object obj) { 00037 return new LinkedList<FieldValue>(); 00038 } 00039 00040 }