All Downloads are FREE. Search and download functionalities are using the official Maven repository.

scala.class_traits_proxyt.ssp Maven / Gradle / Ivy

The newest version!
<%
  // Copyright 2013 Foursquare Labs Inc. All Rights Reserved.

  import com.foursquare.spindle.codegen.runtime.StructLike
%>
<%@ val cls: StructLike %>
trait ${cls.name}Proxy extends ${cls.name} {
  protected def underlying: ${cls.name}

  override def meta = underlying.meta

#for (field <- cls.fields)
// ${field.renderType.fieldProxyTemplate}
<% render(field.renderType.fieldProxyTemplate, Map("field" -> field)) %>
#end

  override def compare(that: ${cls.name}): Int = underlying.compare(that)

  override def clear() { underlying.clear }
  override def read(iprot: org.apache.thrift.protocol.TProtocol) { underlying.read(iprot) }
  override def write(oprot: org.apache.thrift.protocol.TProtocol) { underlying.write(oprot) }

  override def copy(
      ${cls.fields.map(field => "%s: %s = %sOrNull".format(field.escapedName, field.renderType.boxedText, field.name)).mkString(",\n      ")}
  ): ${cls.name} = underlying.copy(
    ${cls.fields.map(field => "%s = %s".format(field.escapedName, field.escapedName)).mkString(",\n    ")}
  )

  override def mutableCopy(): Mutable${cls.name} = underlying.mutableCopy()

  override def mergeCopy(that: ${cls.name}): ${cls.name} = underlying.mergeCopy(that)

  override def mutable: Mutable${cls.name} = underlying.mutable

  override def deepCopy(): ${cls.name} = underlying.deepCopy()

  override def fieldForId(id: Int): ${cls.name}._Fields = underlying.fieldForId(id)
  override def isSet(field: ${cls.name}._Fields): Boolean = underlying.isSet(field)
  override def getFieldValue(field: ${cls.name}._Fields): AnyRef = underlying.getFieldValue(field)
  override def setFieldValue(field: ${cls.name}._Fields, value: AnyRef) { underlying.setFieldValue(field, value) }

  override def hashCode(): Int = underlying.hashCode
  override def equals(that: Any): Boolean = underlying.equals(that)
  override def toString(): String = underlying.toString
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy