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

org.jsonddl.model.SchemaImpl Maven / Gradle / Ivy

The newest version!
package org.jsonddl.model;
@javax.annotation.Generated(value="org.jsonddl.generator.industrial.IndustrialDialect", date="2012-07-09T17:13:42")
class SchemaImpl
    implements org.jsonddl.impl.Traversable, org.jsonddl.impl.Digested, Schema {
  protected SchemaImpl() {}
  public Class getDdlObjectType() {
    return Schema.class;
  }
  public Schema accept(org.jsonddl.JsonDdlVisitor visitor) {
    return new org.jsonddl.impl.ContextImpl.ObjectContext.Builder()
        .withValue(this)
        .withKind(org.jsonddl.model.Kind.DDL)
        .build().traverse(visitor);
  }
  public Schema.Builder builder() {
    return newInstance().from(this);
  }
  public Schema.Builder newInstance() {
    return new Schema.Builder();
  }
  public java.util.Map toJsonObject() {
    return org.jsonddl.impl.JsonMapVisitor.toJsonObject(this);
  }
  public Schema traverse(org.jsonddl.JsonDdlVisitor visitor) {
    new org.jsonddl.impl.ContextImpl.ValueContext.Builder()
      .withKind(org.jsonddl.model.Kind.STRING)
      .withLeafType(java.lang.String.class)
      .withProperty("comment")
      .withValue(this.Comment)
      .build().traverse(visitor);

    new org.jsonddl.impl.ContextImpl.MapContext.Builder()
      .withKind(org.jsonddl.model.Kind.MAP)
      .withNestedKinds(java.util.Arrays.asList(org.jsonddl.model.Kind.STRING, org.jsonddl.model.Kind.DDL))
      .withLeafType(Model.class)
      .withProperty("models")
      .withValue(this.Models)
      .build().traverse(visitor);
    return this;
  }
  private byte[] digest;
  public byte[] computeDigest() {
    if (digest == null) {
        // Temporary return value if loops are detected
        digest = new byte[0];
    org.jsonddl.impl.DigestVisitor v = new org.jsonddl.impl.DigestVisitor();
    accept(v);
    digest = v.getDigest();
    }
    return digest;
  }

  public int hashCode() {
  computeDigest();
    return (int)((digest[0] << 3) | (digest[1] << 2) | (digest[18] << 1) | digest[19]);
  }

  public boolean equals(Object o) {
    if (o == this) {
      return true;
    }
    if (!(o instanceof org.jsonddl.impl.Digested)) {
      return false;
    }
    byte[] d1 = computeDigest();
    byte[] d2 = ((org.jsonddl.impl.Digested) o).computeDigest();
    for (int i = 0, j = d1.length; i Models;
  public java.lang.String getComment() {
    return Comment;
  }
  public java.util.Map getModels() {
    return Models;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy