}
@Override
public void registerSaveableClass(ClassContainer type)
{
ITypeInfo info = null;
if (type.isArray() && !type.getType().getComponentType().isPrimitive() && !String.class.isAssignableFrom(type.getType().getComponentType()))
{
info = new TypeInfoArray(new ClassContainer(type.getType()));
}
else if (Map.class.isAssignableFrom(type.getType()))
{
info = new TypeInfoMap(type);
}
else if (Set.class.isAssignableFrom(type.getType()))
{
info = new TypeInfoSet(type);
}
else if (List.class.isAssignableFrom(type.getType()))
{
info = new TypeInfoList(type);
}
else if (type.getType().isAnnotationPresent(SaveableObject.class))
{
info = new TypeInfoStandard(type.getType());
}
else if (Serializable.class.isAssignableFrom(type.getType()))
{
info = new TypeInfoSerialize(type);
}
if (info == null)
{
return;
}
info.build();
taggerList.put(type.toString(), info);
}