class Constructor(ClassBase): __javaclass__ = 'java/lang/reflect/Constructor' toString = JavaMethod('()Ljava/lang/String;') getParameterTypes = JavaMethod('()[Ljava/lang/Class;') getModifiers = JavaMethod('()I') isVarArgs = JavaMethod('()Z')
class Constructor(JavaClass): __metaclass__ = MetaJavaClass __javaclass__ = 'java/lang/reflect/Constructor' toString = JavaMethod('()Ljava/lang/String;') getParameterTypes = JavaMethod('()[Ljava/lang/Class;') getModifiers = JavaMethod('()I')
class Field(ClassBase): __javaclass__ = 'java/lang/reflect/Field' getName = JavaMethod('()Ljava/lang/String;') toString = JavaMethod('()Ljava/lang/String;') getType = JavaMethod('()Ljava/lang/Class;') getModifiers = JavaMethod('()I')
class Method(JavaClass): __metaclass__ = MetaJavaClass __javaclass__ = 'java/lang/reflect/Method' getName = JavaMethod('()Ljava/lang/String;') toString = JavaMethod('()Ljava/lang/String;') getParameterTypes = JavaMethod('()[Ljava/lang/Class;') getReturnType = JavaMethod('()Ljava/lang/Class;') getModifiers = JavaMethod('()I')
class Method(ClassBase): __javaclass__ = 'java/lang/reflect/Method' getName = JavaMethod('()Ljava/lang/String;') toString = JavaMethod('()Ljava/lang/String;') getParameterTypes = JavaMethod('()[Ljava/lang/Class;') getReturnType = JavaMethod('()Ljava/lang/Class;') getModifiers = JavaMethod('()I') isVarArgs = JavaMethod('()Z')
class Class(JavaClass): __metaclass__ = MetaJavaClass __javaclass__ = 'java/lang/Class' forName = JavaStaticMethod('(Ljava/lang/String;)Ljava/lang/Class;') getConstructors = JavaMethod('()[Ljava/lang/reflect/Constructor;') getMethods = JavaMethod('()[Ljava/lang/reflect/Method;') getFields = JavaMethod('()[Ljava/lang/reflect/Field;') getDeclaredMethods = JavaMethod('()[Ljava/lang/reflect/Method;') getDeclaredFields = JavaMethod('()[Ljava/lang/reflect/Field;') getName = JavaMethod('()Ljava/lang/String;')
class _Gsvm(JavaClass, metaclass=MetaJavaClass): __javaclass__ = 'org/spectrumauctions/sats/core/model/gsvm/GlobalSynergyValueModel' # TODO: I don't find a way to have the more direct accessors of the DefaultModel class. So for now, I'm mirroring the accessors #createNewPopulation = JavaMultipleMethod([ # '()Ljava/util/List;', # '(J)Ljava/util/List;']) setNumberOfNationalBidders = JavaMethod('(I)V') setNumberOfRegionalBidders = JavaMethod('(I)V') createWorld = JavaMethod( '(Lorg/spectrumauctions/sats/core/util/random/RNGSupplier;)Lorg/spectrumauctions/sats/core/model/gsvm/GSVMWorld;' ) createPopulation = JavaMethod( '(Lorg/spectrumauctions/sats/core/model/World;Lorg/spectrumauctions/sats/core/util/random/RNGSupplier;)Ljava/util/List;' ) population = {} goods = {} efficient_allocation = None def __init__(self, seed, number_of_national_bidders, number_of_regional_bidders): super().__init__() if seed: rng = JavaUtilRNGSupplier(seed) else: rng = JavaUtilRNGSupplier() self.setNumberOfNationalBidders(number_of_national_bidders) self.setNumberOfRegionalBidders(number_of_regional_bidders) world = self.createWorld(rng) self._bidder_list = self.createPopulation(world, rng) # Store bidders bidderator = self._bidder_list.iterator() while bidderator.hasNext(): bidder = bidderator.next() self.population[bidder.getId()] = bidder # Store goods goods_iterator = self._bidder_list.iterator().next().getWorld( ).getLicenses().iterator() count = 0 while goods_iterator.hasNext(): good = goods_iterator.next() assert good.getId() == count count += 1 self.goods[good.getId()] = good def get_bidder_ids(self): return self.population.keys() def get_good_ids(self): return self.goods.keys() def calculate_value(self, bidder_id, goods_vector): assert len(goods_vector) == len(self.goods.keys()) bidder = self.population[bidder_id] bundle = Bundle() for i in range(len(goods_vector)): if goods_vector[i] == 1: bundle.add(self.goods[i]) return bidder.calculateValue(bundle).doubleValue() def get_random_bids(self, bidder_id, number_of_bids, seed=None, mean_bundle_size=9, standard_deviation_bundle_size=4.5): bidder = self.population[bidder_id] if seed: rng = JavaUtilRNGSupplier(seed) else: rng = JavaUtilRNGSupplier() valueFunction = cast( 'org.spectrumauctions.sats.core.bidlang.xor.SizeBasedUniqueRandomXOR', bidder.getValueFunction(SizeBasedUniqueRandomXOR, rng)) valueFunction.setDistribution(mean_bundle_size, standard_deviation_bundle_size) valueFunction.setIterations(number_of_bids) xorBidIterator = valueFunction.iterator() bids = [] while (xorBidIterator.hasNext()): xorBid = xorBidIterator.next() bid = [] for good_id, good in self.goods.items(): if (xorBid.getLicenses().contains(good)): bid.append(1) else: bid.append(0) bid.append(xorBid.value) bids.append(bid) return bids def get_efficient_allocation(self): if self.efficient_allocation: return self.efficient_allocation, sum([ self.efficient_allocation[bidder_id]['value'] for bidder_id in self.efficient_allocation.keys() ]) mip = GSVMStandardMIP(self._bidder_list) mip.setDisplayOutput(True) item_allocation = cast( 'org.spectrumauctions.sats.opt.domain.ItemAllocation', mip.calculateAllocation()) self.efficient_allocation = {} for bidder_id, bidder in self.population.items(): self.efficient_allocation[bidder_id] = {} self.efficient_allocation[bidder_id]['good_ids'] = [] bidder_allocation = item_allocation.getAllocation(bidder) good_iterator = bidder_allocation.iterator() while good_iterator.hasNext(): self.efficient_allocation[bidder_id]['good_ids'].append( good_iterator.next().getId()) self.efficient_allocation[bidder_id][ 'value'] = item_allocation.getTradeValue(bidder).doubleValue() return self.efficient_allocation, item_allocation.totalValue.doubleValue( )
class Object(ClassBase): __javaclass__ = 'java/lang/Object' getClass = JavaMethod('()Ljava/lang/Class;') hashCode = JavaMethod('()I') toString = JavaMethod('()Ljava/lang/String;')
class Class(ClassBase): __javaclass__ = 'java/lang/Class' desiredAssertionStatus = JavaMethod('()Z;') forName = JavaMultipleMethod([ ('(Ljava/lang/String,Z,Ljava/lang/ClassLoader;)Ljava/langClass;', True, False), ('(Ljava/lang/String;)Ljava/lang/Class;', True, False), ]) getClassLoader = JavaMethod('()Ljava/lang/ClassLoader;') getClasses = JavaMethod('()[Ljava/lang/Class;') getComponentType = JavaMethod('()Ljava/lang/Class;') getConstructor = JavaMethod('([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;') getConstructors = JavaMethod('()[Ljava/lang/reflect/Constructor;') getDeclaredClasses = JavaMethod('()[Ljava/lang/Class;') getDeclaredConstructor = JavaMethod('([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;') getDeclaredConstructors = JavaMethod('()[Ljava/lang/reflect/Constructor;') getDeclaredField = JavaMethod('(Ljava/lang/String;)Ljava/lang/reflect/Field;') getDeclaredFields = JavaMethod('()[Ljava/lang/reflect/Field;') getDeclaredMethod = JavaMethod('(Ljava/lang/String,[Ljava/lang/Class;)Ljava/lang/reflect/Method;') getDeclaredMethods = JavaMethod('()[Ljava/lang/reflect/Method;') getDeclaringClass = JavaMethod('()Ljava/lang/Class;') getField = JavaMethod('(Ljava/lang/String;)Ljava/lang/reflect/Field;') getFields = JavaMethod('()[Ljava/lang/reflect/Field;') getInterfaces = JavaMethod('()[Ljava/lang/Class;') getMethod = JavaMethod('(Ljava/lang/String,[Ljava/lang/Class;)Ljava/lang/reflect/Method;') getMethods = JavaMethod('()[Ljava/lang/reflect/Method;') getModifiers = JavaMethod('()[I;') getName = JavaMethod('()Ljava/lang/String;') getPackage = JavaMethod('()Ljava/lang/Package;') getProtectionDomain = JavaMethod('()Ljava/security/ProtectionDomain;') getResource = JavaMethod('(Ljava/lang/String;)Ljava/net/URL;') getResourceAsStream = JavaMethod('(Ljava/lang/String;)Ljava/io/InputStream;') getSigners = JavaMethod('()[Ljava/lang/Object;') getSuperclass = JavaMethod('()Ljava/lang/reflect/Class;') isArray = JavaMethod('()Z;') isAssignableFrom = JavaMethod('(Ljava/lang/reflect/Class;)Z;') isInstance = JavaMethod('(Ljava/lang/Object;)Z;') isInterface = JavaMethod('()Z;') isPrimitive = JavaMethod('()Z;') newInstance = JavaMethod('()Ljava/lang/Object;') toString = JavaMethod('()Ljava/lang/String;')
#!/usr/bin/env python from jnius import ( cast, reflect, autoclass, JavaMethod, java_method, PythonJavaClass ) reflect.Method.invoke = JavaMethod('(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;') Boolean = autoclass('java.lang.Boolean') Context = autoclass('android.content.Context') WifiManager = autoclass('android.net.wifi.WifiManager') from plyer.platforms.android import activity class WiFiApControl(PythonJavaClass): __javainterfaces__ = ['java/util/ListIterator'] AP_STATE = 'getWifiApState' AP_ENABLED = 'isWifiApEnabled' AP_CONFIGURATION = 'getWifiApConfiguration' SET_AP_CONFIGURATION = 'setWifiApConfiguration'
class Object(JavaClass): __metaclass__ = MetaJavaClass __javaclass__ = 'java/lang/Object' getClass = JavaMethod('()Ljava/lang/Class;')
class HelloWorld(object): hello = JavaMethod('()Ljava/lang/String;')
class HelloWorld(object): __javaclass__ = 'org/jnius/HelloWorld' hello = JavaMethod('()Ljava/lang/String;')
class HelloWorld(with_metaclass(MetaJavaClass, JavaClass)): __javaclass__ = 'org/jnius/HelloWorld' hello = JavaMethod('()Ljava/lang/String;')
class LiquibaseCommandLine(JavaClass, metaclass=MetaJavaClass): __javaclass__ = "liquibase/integration/commandline/LiquibaseCommandLine" # methods execute = JavaMethod("([Ljava/lang/String;)I")