/* PathConversion.java Copyright (c) 2016 NTT DOCOMO,INC. Released under the MIT license http://opensource.org/licenses/mit-license.php */ package org.deviceconnect.android.manager.compat; import android.content.Intent; import org.deviceconnect.message.DConnectMessage; /** * パス変換ロジック. * * @author NTT DOCOMO, INC. */ class PathConversion { final Path mFrom; final Path mTo; PathConversion(final Path from, final Path to) { if (from == null) { throw new IllegalArgumentException("from is null."); } if (to == null) { throw new IllegalArgumentException("to is null."); } mFrom = from; mTo = to; } boolean canConvert(final Intent request) { String profileName = request.getStringExtra(DConnectMessage.EXTRA_PROFILE); String interfaceName = request.getStringExtra(DConnectMessage.EXTRA_INTERFACE); String attributeName = request.getStringExtra(DConnectMessage.EXTRA_ATTRIBUTE); return mFrom.matches(new Path(profileName, interfaceName, attributeName)); } void convert(final Intent request) { request.putExtra(DConnectMessage.EXTRA_PROFILE, mTo.mProfileName); if (mTo.mInterfaceName != null) { request.putExtra(DConnectMessage.EXTRA_INTERFACE, mTo.mInterfaceName); } if (mTo.mAttributeName != null) { request.putExtra(DConnectMessage.EXTRA_ATTRIBUTE, mTo.mAttributeName); } } }