java api interface