InlinedEntityDescriptor.java :  » JSON » jsonmarshaller » com » twolattes » json » Java Open Source

Java Open Source » JSON » jsonmarshaller 
jsonmarshaller » com » twolattes » json » InlinedEntityDescriptor.java
package com.twolattes.json;

import java.lang.reflect.Array;
import java.util.Set;

class InlinedEntityDescriptor<E> implements EntityDescriptor<E> {

  private final EntityDescriptor<E> delegate;

  InlinedEntityDescriptor(EntityDescriptor<E> delegate) {
    this.delegate = delegate;
  }

  public Class<?> getReturnedClass() {
    return delegate.getReturnedClass();
  }

  public Class<? extends Json.Value> getMarshalledClass() {
    return delegate.getMarshalledClass();
  }

  public boolean isInlineable() {
    return delegate.isInlineable();
  }

  public Json.Value marshall(E entity, String view) {
    return delegate.marshallInline(entity, view);
  }

  @SuppressWarnings("unchecked")
  public Json.Value marshall(
      FieldDescriptor fieldDescriptor, Object entity, String view) {
    return delegate.marshallInline((E) fieldDescriptor.getFieldValue(entity), view);
  }

  @SuppressWarnings("unchecked")
  public Json.Value marshallArray(Object array, int index, String view) {
    return marshall((E) Array.get(array, index), view);
  }

  @SuppressWarnings("unchecked")
  public void unmarshallArray(
      Object array, Json.Value value, int index, String view) {
    Array.set(array, index, unmarshall(value, view));
  }

  public Json.Value marshallInline(E entity, String view) {
    return delegate.marshallInline(entity, view);
  }

  public E unmarshall(Json.Value marshalled, String view) {
    return delegate.unmarshallInline(marshalled, view);
  }

  @SuppressWarnings("unchecked")
  public void unmarshall(Object entity,
      FieldDescriptor fieldDescriptor, Json.Value marshalled, String view) {
    fieldDescriptor.setFieldValue(
        entity, unmarshall(marshalled, view));
  }

  public E unmarshallInline(Json.Value entity, String view) {
    return delegate.unmarshallInline(entity, view);
  }

  public String getDiscriminator() {
    return delegate.getDiscriminator();
  }

  public Set<FieldDescriptor> getFieldDescriptors() {
    return delegate.getFieldDescriptors();
  }

  public Set<FieldDescriptor> getAllFieldDescriptors() {
    return delegate.getAllFieldDescriptors();
  }

  @Override
  public String toString() {
    return toString(0);
  }

  public String toString(int pad) {
    StringBuilder builder = new StringBuilder();
    builder.append("inline ");
    builder.append(delegate.toString(pad));
    return builder.toString();
  }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.