001 /* 002 * Copyright (C) 2014 XStream Committers. 003 * All rights reserved. 004 * 005 * Created on 19. January 2014 by Joerg Schaible 006 */ 007 package com.thoughtworks.xstream.security; 008 009 import java.lang.reflect.Proxy; 010 011 import com.thoughtworks.xstream.mapper.DynamicProxyMapper; 012 013 014 /** 015 * Permission for any array type. 016 * 017 * @author Jörg Schaible 018 * @since 1.4.7 019 */ 020 public class ProxyTypePermission implements TypePermission { 021 /** 022 * @since 1.4.7 023 */ 024 public static final TypePermission PROXIES = new ProxyTypePermission(); 025 026 public boolean allows(final Class type) { 027 return type != null && (Proxy.isProxyClass(type) || type == DynamicProxyMapper.DynamicProxy.class); 028 } 029 030 public int hashCode() { 031 return 17; 032 } 033 034 public boolean equals(final Object obj) { 035 return obj != null && obj.getClass() == ProxyTypePermission.class; 036 } 037 }