001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.tools; 003 004/** 005 * Visitor, to be used with {@link Platform}. 006 * @param <T> type that will be the result of the visiting operation 007 * @since 12776 008 */ 009public interface PlatformVisitor<T> { 010 /** 011 * Visit {@link Platform#UNIXOID} 012 * @return result of the operation 013 */ 014 T visitUnixoid(); 015 016 /** 017 * Visit {@link Platform#WINDOWS} 018 * @return result of the operation 019 */ 020 T visitWindows(); 021 022 /** 023 * Visit {@link Platform#OSX} 024 * @return result of the operation 025 */ 026 T visitOsx(); 027}