AdapaterFactory