Package com.comphenix.protocol.reflect.instances

Examples of com.comphenix.protocol.reflect.instances.DefaultInstances


 
  // Speed up the default writer
  @Override
  public StructureModifier<Object> writeDefaults() throws FieldAccessException {
   
    DefaultInstances generator = DefaultInstances.DEFAULT;
   
    // Write a default instance to every field
    for (Map.Entry<Field, Integer> entry  : defaultFields.entrySet()) {
      Integer index = entry.getValue();
      Field field = entry.getKey();
     
      write(index, (Object) generator.getDefault(field.getType()));
    }
   
    return this;
  }
View Full Code Here


   * @return The current structure modifier - for chaining.
   * @throws FieldAccessException If we're unable to write to the fields due to a security limitation.
   */
  public StructureModifier<TField> writeDefaults() throws FieldAccessException {
   
    DefaultInstances generator = DefaultInstances.DEFAULT;
   
    // Write a default instance to every field
    for (Field field : defaultFields.keySet()) {
      try {
        FieldUtils.writeField(field, target,
            generator.getDefault(field.getType()), true);
      } catch (IllegalAccessException e) {
        throw new FieldAccessException("Cannot write to field due to a security limitation.", e);
      }
    }
   
View Full Code Here

 
  // Used to generate plausible default values
  private static Map<Field, Integer> generateDefaultFields(List<Field> fields) {
   
    Map<Field, Integer> requireDefaults = new HashMap<Field, Integer>();
    DefaultInstances generator = DEFAULT_GENERATOR;
    int index = 0;
   
    for (Field field : fields) {
      Class<?> type = field.getType();
      int modifier = field.getModifiers();
     
      // First, ignore primitive fields and final fields
      if (!type.isPrimitive() && !Modifier.isFinal(modifier)) {
        // Next, see if we actually can generate a default value
        if (generator.getDefault(type) != null) {
          // If so, require it
          requireDefaults.put(field, index);
        }
      }
     
View Full Code Here

    ex.setCallbackFilter(callbackFilter);
   
    // Find the Minecraft NetServerHandler superclass
    Class<?> minecraftSuperClass = getFirstMinecraftSuperClass(serverHandler.getClass());
    ExistingGenerator generator = ExistingGenerator.fromObjectFields(serverHandler, minecraftSuperClass);
    DefaultInstances serverInstances = null;
   
    // Maybe the proxy instance can help?
    Object proxyInstance = getProxyServerHandler();
   
    // Use the existing server proxy when we create one
    if (proxyInstance != null && proxyInstance != serverHandler) {
      serverInstances = DefaultInstances.fromArray(generator,
          ExistingGenerator.fromObjectArray(new Object[] { proxyInstance }));
    } else {
      serverInstances = DefaultInstances.fromArray(generator);
    }
   
    serverInstances.setNonNull(true);
    serverInstances.setMaximumRecursion(1);
   
    Object proxyObject = serverInstances.forEnhancer(ex).getDefault(serverClass);
   
    // Inject it now
    if (proxyObject != null) {
      // Did we override a sendPacket method?
      if (!foundSendPacket) {
View Full Code Here

TOP

Related Classes of com.comphenix.protocol.reflect.instances.DefaultInstances

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.