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

org.hyperledger.fabric.protos.gateway.ErrorDetail Maven / Gradle / Ivy

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: gateway/gateway.proto
// Protobuf Java Version: 4.28.2

package org.hyperledger.fabric.protos.gateway;

/**
 * 
 * If any of the functions in the Gateway service returns an error, then it will be in the format of
 * a google.rpc.Status message. The 'details' field of this message will be populated with extra
 * information if the error is a result of one or more failed requests to remote peers or orderer nodes.
 * ErrorDetail contains details of errors that are received by any of the endorsing peers
 * as a result of processing the Evaluate or Endorse services, or from the ordering node(s) as a result of
 * processing the Submit service.
 * 
* * Protobuf type {@code gateway.ErrorDetail} */ public final class ErrorDetail extends com.google.protobuf.GeneratedMessage implements // @@protoc_insertion_point(message_implements:gateway.ErrorDetail) ErrorDetailOrBuilder { private static final long serialVersionUID = 0L; static { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, /* minor= */ 28, /* patch= */ 2, /* suffix= */ "", ErrorDetail.class.getName()); } // Use ErrorDetail.newBuilder() to construct. private ErrorDetail(com.google.protobuf.GeneratedMessage.Builder builder) { super(builder); } private ErrorDetail() { address_ = ""; mspId_ = ""; message_ = ""; } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return org.hyperledger.fabric.protos.gateway.GatewayProto.internal_static_gateway_ErrorDetail_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { return org.hyperledger.fabric.protos.gateway.GatewayProto.internal_static_gateway_ErrorDetail_fieldAccessorTable .ensureFieldAccessorsInitialized( org.hyperledger.fabric.protos.gateway.ErrorDetail.class, org.hyperledger.fabric.protos.gateway.ErrorDetail.Builder.class); } public static final int ADDRESS_FIELD_NUMBER = 1; @SuppressWarnings("serial") private volatile java.lang.Object address_ = ""; /** *
   * The address of the endorsing peer or ordering node that returned an error.
   * 
* * string address = 1 [json_name = "address"]; * @return The address. */ @java.lang.Override public java.lang.String getAddress() { java.lang.Object ref = address_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); address_ = s; return s; } } /** *
   * The address of the endorsing peer or ordering node that returned an error.
   * 
* * string address = 1 [json_name = "address"]; * @return The bytes for address. */ @java.lang.Override public com.google.protobuf.ByteString getAddressBytes() { java.lang.Object ref = address_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); address_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int MSP_ID_FIELD_NUMBER = 2; @SuppressWarnings("serial") private volatile java.lang.Object mspId_ = ""; /** *
   * The MSP Identifier of this node.
   * 
* * string msp_id = 2 [json_name = "mspId"]; * @return The mspId. */ @java.lang.Override public java.lang.String getMspId() { java.lang.Object ref = mspId_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); mspId_ = s; return s; } } /** *
   * The MSP Identifier of this node.
   * 
* * string msp_id = 2 [json_name = "mspId"]; * @return The bytes for mspId. */ @java.lang.Override public com.google.protobuf.ByteString getMspIdBytes() { java.lang.Object ref = mspId_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); mspId_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int MESSAGE_FIELD_NUMBER = 3; @SuppressWarnings("serial") private volatile java.lang.Object message_ = ""; /** *
   * The error message returned by this node.
   * 
* * string message = 3 [json_name = "message"]; * @return The message. */ @java.lang.Override public java.lang.String getMessage() { java.lang.Object ref = message_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); message_ = s; return s; } } /** *
   * The error message returned by this node.
   * 
* * string message = 3 [json_name = "message"]; * @return The bytes for message. */ @java.lang.Override public com.google.protobuf.ByteString getMessageBytes() { java.lang.Object ref = message_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); message_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (!com.google.protobuf.GeneratedMessage.isStringEmpty(address_)) { com.google.protobuf.GeneratedMessage.writeString(output, 1, address_); } if (!com.google.protobuf.GeneratedMessage.isStringEmpty(mspId_)) { com.google.protobuf.GeneratedMessage.writeString(output, 2, mspId_); } if (!com.google.protobuf.GeneratedMessage.isStringEmpty(message_)) { com.google.protobuf.GeneratedMessage.writeString(output, 3, message_); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!com.google.protobuf.GeneratedMessage.isStringEmpty(address_)) { size += com.google.protobuf.GeneratedMessage.computeStringSize(1, address_); } if (!com.google.protobuf.GeneratedMessage.isStringEmpty(mspId_)) { size += com.google.protobuf.GeneratedMessage.computeStringSize(2, mspId_); } if (!com.google.protobuf.GeneratedMessage.isStringEmpty(message_)) { size += com.google.protobuf.GeneratedMessage.computeStringSize(3, message_); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof org.hyperledger.fabric.protos.gateway.ErrorDetail)) { return super.equals(obj); } org.hyperledger.fabric.protos.gateway.ErrorDetail other = (org.hyperledger.fabric.protos.gateway.ErrorDetail) obj; if (!getAddress() .equals(other.getAddress())) return false; if (!getMspId() .equals(other.getMspId())) return false; if (!getMessage() .equals(other.getMessage())) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + ADDRESS_FIELD_NUMBER; hash = (53 * hash) + getAddress().hashCode(); hash = (37 * hash) + MSP_ID_FIELD_NUMBER; hash = (53 * hash) + getMspId().hashCode(); hash = (37 * hash) + MESSAGE_FIELD_NUMBER; hash = (53 * hash) + getMessage().hashCode(); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static org.hyperledger.fabric.protos.gateway.ErrorDetail parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static org.hyperledger.fabric.protos.gateway.ErrorDetail parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static org.hyperledger.fabric.protos.gateway.ErrorDetail parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static org.hyperledger.fabric.protos.gateway.ErrorDetail parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static org.hyperledger.fabric.protos.gateway.ErrorDetail parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static org.hyperledger.fabric.protos.gateway.ErrorDetail parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static org.hyperledger.fabric.protos.gateway.ErrorDetail parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input); } public static org.hyperledger.fabric.protos.gateway.ErrorDetail parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input, extensionRegistry); } public static org.hyperledger.fabric.protos.gateway.ErrorDetail parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseDelimitedWithIOException(PARSER, input); } public static org.hyperledger.fabric.protos.gateway.ErrorDetail parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static org.hyperledger.fabric.protos.gateway.ErrorDetail parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input); } public static org.hyperledger.fabric.protos.gateway.ErrorDetail parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(org.hyperledger.fabric.protos.gateway.ErrorDetail prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessage.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
   * If any of the functions in the Gateway service returns an error, then it will be in the format of
   * a google.rpc.Status message. The 'details' field of this message will be populated with extra
   * information if the error is a result of one or more failed requests to remote peers or orderer nodes.
   * ErrorDetail contains details of errors that are received by any of the endorsing peers
   * as a result of processing the Evaluate or Endorse services, or from the ordering node(s) as a result of
   * processing the Submit service.
   * 
* * Protobuf type {@code gateway.ErrorDetail} */ public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder implements // @@protoc_insertion_point(builder_implements:gateway.ErrorDetail) org.hyperledger.fabric.protos.gateway.ErrorDetailOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return org.hyperledger.fabric.protos.gateway.GatewayProto.internal_static_gateway_ErrorDetail_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { return org.hyperledger.fabric.protos.gateway.GatewayProto.internal_static_gateway_ErrorDetail_fieldAccessorTable .ensureFieldAccessorsInitialized( org.hyperledger.fabric.protos.gateway.ErrorDetail.class, org.hyperledger.fabric.protos.gateway.ErrorDetail.Builder.class); } // Construct using org.hyperledger.fabric.protos.gateway.ErrorDetail.newBuilder() private Builder() { } private Builder( com.google.protobuf.GeneratedMessage.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; address_ = ""; mspId_ = ""; message_ = ""; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return org.hyperledger.fabric.protos.gateway.GatewayProto.internal_static_gateway_ErrorDetail_descriptor; } @java.lang.Override public org.hyperledger.fabric.protos.gateway.ErrorDetail getDefaultInstanceForType() { return org.hyperledger.fabric.protos.gateway.ErrorDetail.getDefaultInstance(); } @java.lang.Override public org.hyperledger.fabric.protos.gateway.ErrorDetail build() { org.hyperledger.fabric.protos.gateway.ErrorDetail result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public org.hyperledger.fabric.protos.gateway.ErrorDetail buildPartial() { org.hyperledger.fabric.protos.gateway.ErrorDetail result = new org.hyperledger.fabric.protos.gateway.ErrorDetail(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartial0(org.hyperledger.fabric.protos.gateway.ErrorDetail result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.address_ = address_; } if (((from_bitField0_ & 0x00000002) != 0)) { result.mspId_ = mspId_; } if (((from_bitField0_ & 0x00000004) != 0)) { result.message_ = message_; } } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof org.hyperledger.fabric.protos.gateway.ErrorDetail) { return mergeFrom((org.hyperledger.fabric.protos.gateway.ErrorDetail)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(org.hyperledger.fabric.protos.gateway.ErrorDetail other) { if (other == org.hyperledger.fabric.protos.gateway.ErrorDetail.getDefaultInstance()) return this; if (!other.getAddress().isEmpty()) { address_ = other.address_; bitField0_ |= 0x00000001; onChanged(); } if (!other.getMspId().isEmpty()) { mspId_ = other.mspId_; bitField0_ |= 0x00000002; onChanged(); } if (!other.getMessage().isEmpty()) { message_ = other.message_; bitField0_ |= 0x00000004; onChanged(); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { address_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000001; break; } // case 10 case 18: { mspId_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000002; break; } // case 18 case 26: { message_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000004; break; } // case 26 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private java.lang.Object address_ = ""; /** *
     * The address of the endorsing peer or ordering node that returned an error.
     * 
* * string address = 1 [json_name = "address"]; * @return The address. */ public java.lang.String getAddress() { java.lang.Object ref = address_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); address_ = s; return s; } else { return (java.lang.String) ref; } } /** *
     * The address of the endorsing peer or ordering node that returned an error.
     * 
* * string address = 1 [json_name = "address"]; * @return The bytes for address. */ public com.google.protobuf.ByteString getAddressBytes() { java.lang.Object ref = address_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); address_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
     * The address of the endorsing peer or ordering node that returned an error.
     * 
* * string address = 1 [json_name = "address"]; * @param value The address to set. * @return This builder for chaining. */ public Builder setAddress( java.lang.String value) { if (value == null) { throw new NullPointerException(); } address_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** *
     * The address of the endorsing peer or ordering node that returned an error.
     * 
* * string address = 1 [json_name = "address"]; * @return This builder for chaining. */ public Builder clearAddress() { address_ = getDefaultInstance().getAddress(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** *
     * The address of the endorsing peer or ordering node that returned an error.
     * 
* * string address = 1 [json_name = "address"]; * @param value The bytes for address to set. * @return This builder for chaining. */ public Builder setAddressBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); address_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } private java.lang.Object mspId_ = ""; /** *
     * The MSP Identifier of this node.
     * 
* * string msp_id = 2 [json_name = "mspId"]; * @return The mspId. */ public java.lang.String getMspId() { java.lang.Object ref = mspId_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); mspId_ = s; return s; } else { return (java.lang.String) ref; } } /** *
     * The MSP Identifier of this node.
     * 
* * string msp_id = 2 [json_name = "mspId"]; * @return The bytes for mspId. */ public com.google.protobuf.ByteString getMspIdBytes() { java.lang.Object ref = mspId_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); mspId_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
     * The MSP Identifier of this node.
     * 
* * string msp_id = 2 [json_name = "mspId"]; * @param value The mspId to set. * @return This builder for chaining. */ public Builder setMspId( java.lang.String value) { if (value == null) { throw new NullPointerException(); } mspId_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } /** *
     * The MSP Identifier of this node.
     * 
* * string msp_id = 2 [json_name = "mspId"]; * @return This builder for chaining. */ public Builder clearMspId() { mspId_ = getDefaultInstance().getMspId(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); return this; } /** *
     * The MSP Identifier of this node.
     * 
* * string msp_id = 2 [json_name = "mspId"]; * @param value The bytes for mspId to set. * @return This builder for chaining. */ public Builder setMspIdBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); mspId_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } private java.lang.Object message_ = ""; /** *
     * The error message returned by this node.
     * 
* * string message = 3 [json_name = "message"]; * @return The message. */ public java.lang.String getMessage() { java.lang.Object ref = message_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); message_ = s; return s; } else { return (java.lang.String) ref; } } /** *
     * The error message returned by this node.
     * 
* * string message = 3 [json_name = "message"]; * @return The bytes for message. */ public com.google.protobuf.ByteString getMessageBytes() { java.lang.Object ref = message_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); message_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
     * The error message returned by this node.
     * 
* * string message = 3 [json_name = "message"]; * @param value The message to set. * @return This builder for chaining. */ public Builder setMessage( java.lang.String value) { if (value == null) { throw new NullPointerException(); } message_ = value; bitField0_ |= 0x00000004; onChanged(); return this; } /** *
     * The error message returned by this node.
     * 
* * string message = 3 [json_name = "message"]; * @return This builder for chaining. */ public Builder clearMessage() { message_ = getDefaultInstance().getMessage(); bitField0_ = (bitField0_ & ~0x00000004); onChanged(); return this; } /** *
     * The error message returned by this node.
     * 
* * string message = 3 [json_name = "message"]; * @param value The bytes for message to set. * @return This builder for chaining. */ public Builder setMessageBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); message_ = value; bitField0_ |= 0x00000004; onChanged(); return this; } // @@protoc_insertion_point(builder_scope:gateway.ErrorDetail) } // @@protoc_insertion_point(class_scope:gateway.ErrorDetail) private static final org.hyperledger.fabric.protos.gateway.ErrorDetail DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new org.hyperledger.fabric.protos.gateway.ErrorDetail(); } public static org.hyperledger.fabric.protos.gateway.ErrorDetail getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public ErrorDetail parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public org.hyperledger.fabric.protos.gateway.ErrorDetail getDefaultInstanceForType() { return DEFAULT_INSTANCE; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy