/* * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package java.util; import sun.util.logging.PlatformLogger; import java.security.AccessController; import java.security.PrivilegedAction; /** * Utility class for detecting inadvertent uses of boxing in * {@code java.util} classes. The detection is turned on or off based on * whether the system property {@code org.openjdk.java.util.stream.tripwire} is * considered {@code true} according to {@link Boolean#getBoolean(String)}. * This should normally be turned off for production use. * * @apiNote * Typical usage would be for boxing code to do: *
{@code * if (Tripwire.ENABLED) * Tripwire.trip(getClass(), "{0} calling PrimitiveIterator.OfInt.nextInt()"); * }* * @since 1.8 */ final class Tripwire { private static final String TRIPWIRE_PROPERTY = "org.openjdk.java.util.stream.tripwire"; /** Should debugging checks be enabled? */ static final boolean ENABLED = AccessController.doPrivileged( (PrivilegedAction