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

com.alachisoft.ncache.common.protobuf.ExceptionProtocol Maven / Gradle / Ivy

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: Exception.proto

package com.alachisoft.ncache.common.protobuf;

public final class ExceptionProtocol {
    private static com.google.protobuf.Descriptors.Descriptor
            internal_static_com_alachisoft_ncache_common_protobuf_Exception_descriptor;
    private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internal_static_com_alachisoft_ncache_common_protobuf_Exception_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.FileDescriptor
            descriptor;

    static {
        java.lang.String[] descriptorData = {
                "\n\017Exception.proto\022%com.alachisoft.ncache" +
                        ".common.protobuf\"\364\004\n\tException\022C\n\004type\030\001" +
                        " \001(\01625.com.alachisoft.ncache.common.prot" +
                        "obuf.Exception.Type\022\017\n\007message\030\002 \001(\t\022\021\n\t" +
                        "exception\030\003 \001(\t\022\021\n\terrorCode\030\004 \001(\005\022\022\n\nst" +
                        "ackTrace\030\005 \001(\t\"\326\003\n\004Type\022\023\n\017OPERATIONFAIL" +
                        "ED\020\000\022\r\n\tAGGREGATE\020\001\022\021\n\rCONFIGURATION\020\002\022\022" +
                        "\n\016GENERALFAILURE\020\003\022\014\n\010SECURITY\020\004\022\020\n\014NOTS" +
                        "UPPORTED\020\005\022\027\n\023MAX_CLIENTS_REACHED\020\006\022\031\n\025S" +
                        "TREAM_ALREADY_LOCKED\020\007\022\021\n\rSTREAM_CLOSED\020",
                "\010\022\016\n\nSTREAM_EXC\020\t\022\027\n\023STREAM_INVALID_LOCK" +
                        "\020\n\022\024\n\020STREAM_NOT_FOUND\020\013\022\030\n\024TYPE_INDEX_N" +
                        "OT_FOUND\020\014\022\035\n\031ATTRIBUTE_INDEX_NOT_FOUND\020" +
                        "\r\022\034\n\030STATE_TRANSFER_EXCEPTION\020\016\022\034\n\030INVAL" +
                        "ID_READER_EXCEPTION\020\017\022\027\n\023LICENSING_EXCEP" +
                        "TION\020\020\022\030\n\024DEPLOYMENT_EXCEPTION\020\021\022\032\n\026CONF" +
                        "IGURATON_EXCEPTION\020\022\022\031\n\025MAINTENANCE_EXCE" +
                        "PTION\020\023B\023B\021ExceptionProtocol"
        };
        com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
                new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
                    public com.google.protobuf.ExtensionRegistry assignDescriptors(
                            com.google.protobuf.Descriptors.FileDescriptor root) {
                        descriptor = root;
                        internal_static_com_alachisoft_ncache_common_protobuf_Exception_descriptor =
                                getDescriptor().getMessageTypes().get(0);
                        internal_static_com_alachisoft_ncache_common_protobuf_Exception_fieldAccessorTable = new
                                com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                internal_static_com_alachisoft_ncache_common_protobuf_Exception_descriptor,
                                new java.lang.String[]{"Type", "Message", "Exception", "ErrorCode", "StackTrace",},
                                com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception.class,
                                com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception.Builder.class);
                        return null;
                    }
                };
        com.google.protobuf.Descriptors.FileDescriptor
                .internalBuildGeneratedFileFrom(descriptorData,
                        new com.google.protobuf.Descriptors.FileDescriptor[]{
                        }, assigner);
    }
    private ExceptionProtocol() {
    }

    public static void registerAllExtensions(
            com.google.protobuf.ExtensionRegistry registry) {
    }

    public static com.google.protobuf.Descriptors.FileDescriptor
    getDescriptor() {
        return descriptor;
    }

    public static void internalForceInit() {
    }

    public static final class Exception extends
            com.google.protobuf.GeneratedMessage {
        // optional .com.alachisoft.ncache.common.protobuf.Exception.Type type = 1;
        public static final int TYPE_FIELD_NUMBER = 1;
        // optional string message = 2;
        public static final int MESSAGE_FIELD_NUMBER = 2;
        // optional string exception = 3;
        public static final int EXCEPTION_FIELD_NUMBER = 3;
        // optional int32 errorCode = 4;
        public static final int ERRORCODE_FIELD_NUMBER = 4;
        // optional string stackTrace = 5;
        public static final int STACKTRACE_FIELD_NUMBER = 5;
        private static final Exception defaultInstance;

        static {
            defaultInstance = new Exception(true);
            com.alachisoft.ncache.common.protobuf.ExceptionProtocol.internalForceInit();
            defaultInstance.initFields();
        }

        private boolean hasType;
        private com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception.Type type_;
        private boolean hasMessage;
        private java.lang.String message_ = "";
        private boolean hasException;
        private java.lang.String exception_ = "";
        private boolean hasErrorCode;
        private int errorCode_ = 0;
        private boolean hasStackTrace;
        private java.lang.String stackTrace_ = "";
        private int memoizedSerializedSize = -1;

        // Use Exception.newBuilder() to construct.
        private Exception() {
            initFields();
        }
        private Exception(boolean noInit) {
        }

        public static Exception getDefaultInstance() {
            return defaultInstance;
        }

        public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
            return com.alachisoft.ncache.common.protobuf.ExceptionProtocol.internal_static_com_alachisoft_ncache_common_protobuf_Exception_descriptor;
        }

        public static com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception parseFrom(
                com.google.protobuf.ByteString data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }

        public static com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception parseFrom(
                com.google.protobuf.ByteString data,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry)
                    .buildParsed();
        }

        public static com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception parseFrom(byte[] data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }

        public static com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception parseFrom(
                byte[] data,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry)
                    .buildParsed();
        }

        public static com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception parseFrom(java.io.InputStream input)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }

        public static com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception parseFrom(
                java.io.InputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry)
                    .buildParsed();
        }

        public static com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception parseDelimitedFrom(java.io.InputStream input)
                throws java.io.IOException {
            Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input)) {
                return builder.buildParsed();
            } else {
                return null;
            }
        }

        public static com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception parseDelimitedFrom(
                java.io.InputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
                return builder.buildParsed();
            } else {
                return null;
            }
        }

        public static com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception parseFrom(
                com.google.protobuf.CodedInputStream input)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }

        public static com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception parseFrom(
                com.google.protobuf.CodedInputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry)
                    .buildParsed();
        }

        public static Builder newBuilder() {
            return Builder.create();
        }

        public static Builder newBuilder(com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception prototype) {
            return newBuilder().mergeFrom(prototype);
        }

        public Exception getDefaultInstanceForType() {
            return defaultInstance;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
            return com.alachisoft.ncache.common.protobuf.ExceptionProtocol.internal_static_com_alachisoft_ncache_common_protobuf_Exception_fieldAccessorTable;
        }

        public boolean hasType() {
            return hasType;
        }

        public com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception.Type getType() {
            return type_;
        }

        public boolean hasMessage() {
            return hasMessage;
        }

        public java.lang.String getMessage() {
            return message_;
        }

        public boolean hasException() {
            return hasException;
        }

        public java.lang.String getException() {
            return exception_;
        }

        public boolean hasErrorCode() {
            return hasErrorCode;
        }

        public int getErrorCode() {
            return errorCode_;
        }

        public boolean hasStackTrace() {
            return hasStackTrace;
        }

        public java.lang.String getStackTrace() {
            return stackTrace_;
        }

        private void initFields() {
            type_ = com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception.Type.OPERATIONFAILED;
        }

        public final boolean isInitialized() {
            return true;
        }

        public void writeTo(com.google.protobuf.CodedOutputStream output)
                throws java.io.IOException {
            getSerializedSize();
            if (hasType()) {
                output.writeEnum(1, getType().getNumber());
            }
            if (hasMessage()) {
                output.writeString(2, getMessage());
            }
            if (hasException()) {
                output.writeString(3, getException());
            }
            if (hasErrorCode()) {
                output.writeInt32(4, getErrorCode());
            }
            if (hasStackTrace()) {
                output.writeString(5, getStackTrace());
            }
            getUnknownFields().writeTo(output);
        }

        public int getSerializedSize() {
            int size = memoizedSerializedSize;
            if (size != -1) return size;

            size = 0;
            if (hasType()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeEnumSize(1, getType().getNumber());
            }
            if (hasMessage()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeStringSize(2, getMessage());
            }
            if (hasException()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeStringSize(3, getException());
            }
            if (hasErrorCode()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeInt32Size(4, getErrorCode());
            }
            if (hasStackTrace()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeStringSize(5, getStackTrace());
            }
            size += getUnknownFields().getSerializedSize();
            memoizedSerializedSize = size;
            return size;
        }

        public Builder newBuilderForType() {
            return newBuilder();
        }

        public Builder toBuilder() {
            return newBuilder(this);
        }

        public enum Type
                implements com.google.protobuf.ProtocolMessageEnum {
            OPERATIONFAILED(0, 0),
            AGGREGATE(1, 1),
            CONFIGURATION(2, 2),
            GENERALFAILURE(3, 3),
            SECURITY(4, 4),
            NOTSUPPORTED(5, 5),
            MAX_CLIENTS_REACHED(6, 6),
            STREAM_ALREADY_LOCKED(7, 7),
            STREAM_CLOSED(8, 8),
            STREAM_EXC(9, 9),
            STREAM_INVALID_LOCK(10, 10),
            STREAM_NOT_FOUND(11, 11),
            TYPE_INDEX_NOT_FOUND(12, 12),
            ATTRIBUTE_INDEX_NOT_FOUND(13, 13),
            STATE_TRANSFER_EXCEPTION(14, 14),
            INVALID_READER_EXCEPTION(15, 15),
            LICENSING_EXCEPTION(16, 16),
            DEPLOYMENT_EXCEPTION(17, 17),
            CONFIGURATON_EXCEPTION(18, 18),
            MAINTENANCE_EXCEPTION(19, 19),
            ;


            private static final Type[] VALUES = {
                    OPERATIONFAILED, AGGREGATE, CONFIGURATION, GENERALFAILURE, SECURITY, NOTSUPPORTED, MAX_CLIENTS_REACHED, STREAM_ALREADY_LOCKED, STREAM_CLOSED, STREAM_EXC, STREAM_INVALID_LOCK, STREAM_NOT_FOUND, TYPE_INDEX_NOT_FOUND, ATTRIBUTE_INDEX_NOT_FOUND, STATE_TRANSFER_EXCEPTION, INVALID_READER_EXCEPTION, LICENSING_EXCEPTION, DEPLOYMENT_EXCEPTION, CONFIGURATON_EXCEPTION, MAINTENANCE_EXCEPTION,
            };
            private static com.google.protobuf.Internal.EnumLiteMap
                    internalValueMap =
                    new com.google.protobuf.Internal.EnumLiteMap() {
                        public Type findValueByNumber(int number) {
                            return Type.valueOf(number)
                                    ;
                        }
                    };

            static {
                com.alachisoft.ncache.common.protobuf.ExceptionProtocol.getDescriptor();
            }

            private final int index;
            private final int value;

            private Type(int index, int value) {
                this.index = index;
                this.value = value;
            }

            public static Type valueOf(int value) {
                switch (value) {
                    case 0:
                        return OPERATIONFAILED;
                    case 1:
                        return AGGREGATE;
                    case 2:
                        return CONFIGURATION;
                    case 3:
                        return GENERALFAILURE;
                    case 4:
                        return SECURITY;
                    case 5:
                        return NOTSUPPORTED;
                    case 6:
                        return MAX_CLIENTS_REACHED;
                    case 7:
                        return STREAM_ALREADY_LOCKED;
                    case 8:
                        return STREAM_CLOSED;
                    case 9:
                        return STREAM_EXC;
                    case 10:
                        return STREAM_INVALID_LOCK;
                    case 11:
                        return STREAM_NOT_FOUND;
                    case 12:
                        return TYPE_INDEX_NOT_FOUND;
                    case 13:
                        return ATTRIBUTE_INDEX_NOT_FOUND;
                    case 14:
                        return STATE_TRANSFER_EXCEPTION;
                    case 15:
                        return INVALID_READER_EXCEPTION;
                    case 16:
                        return LICENSING_EXCEPTION;
                    case 17:
                        return DEPLOYMENT_EXCEPTION;
                    case 18:
                        return CONFIGURATON_EXCEPTION;
                    case 19:
                        return MAINTENANCE_EXCEPTION;
                    default:
                        return null;
                }
            }

            public static com.google.protobuf.Internal.EnumLiteMap
            internalGetValueMap() {
                return internalValueMap;
            }

            public static final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptor() {
                return com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception.getDescriptor().getEnumTypes().get(0);
            }

            public static Type valueOf(
                    com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
                if (desc.getType() != getDescriptor()) {
                    throw new java.lang.IllegalArgumentException(
                            "EnumValueDescriptor is not for this type.");
                }
                return VALUES[desc.getIndex()];
            }

            public final int getNumber() {
                return value;
            }

            public final com.google.protobuf.Descriptors.EnumValueDescriptor
            getValueDescriptor() {
                return getDescriptor().getValues().get(index);
            }

            public final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptorForType() {
                return getDescriptor();
            }

            // @@protoc_insertion_point(enum_scope:com.alachisoft.ncache.common.protobuf.Exception.Type)
        }

        public static final class Builder extends
                com.google.protobuf.GeneratedMessage.Builder {
            private com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception result;

            // Construct using com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception.newBuilder()
            private Builder() {
            }

            private static Builder create() {
                Builder builder = new Builder();
                builder.result = new com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception();
                return builder;
            }

            protected com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception internalGetResult() {
                return result;
            }

            public Builder clear() {
                if (result == null) {
                    throw new IllegalStateException(
                            "Cannot call clear() after build().");
                }
                result = new com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception();
                return this;
            }

            public Builder clone() {
                return create().mergeFrom(result);
            }

            public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
                return com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception.getDescriptor();
            }

            public com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception getDefaultInstanceForType() {
                return com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception.getDefaultInstance();
            }

            public boolean isInitialized() {
                return result.isInitialized();
            }

            public com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception build() {
                if (result != null && !isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return buildPartial();
            }

            private com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception buildParsed()
                    throws com.google.protobuf.InvalidProtocolBufferException {
                if (!isInitialized()) {
                    throw newUninitializedMessageException(
                            result).asInvalidProtocolBufferException();
                }
                return buildPartial();
            }

            public com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception buildPartial() {
                if (result == null) {
                    throw new IllegalStateException(
                            "build() has already been called on this Builder.");
                }
                com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception returnMe = result;
                result = null;
                return returnMe;
            }

            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception) {
                    return mergeFrom((com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception other) {
                if (other == com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception.getDefaultInstance())
                    return this;
                if (other.hasType()) {
                    setType(other.getType());
                }
                if (other.hasMessage()) {
                    setMessage(other.getMessage());
                }
                if (other.hasException()) {
                    setException(other.getException());
                }
                if (other.hasErrorCode()) {
                    setErrorCode(other.getErrorCode());
                }
                if (other.hasStackTrace()) {
                    setStackTrace(other.getStackTrace());
                }
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
            }

            public Builder mergeFrom(
                    com.google.protobuf.CodedInputStream input,
                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                    throws java.io.IOException {
                com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                        com.google.protobuf.UnknownFieldSet.newBuilder(
                                this.getUnknownFields());
                while (true) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            this.setUnknownFields(unknownFields.build());
                            return this;
                        default: {
                            if (!parseUnknownField(input, unknownFields,
                                    extensionRegistry, tag)) {
                                this.setUnknownFields(unknownFields.build());
                                return this;
                            }
                            break;
                        }
                        case 8: {
                            int rawValue = input.readEnum();
                            com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception.Type value = com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception.Type.valueOf(rawValue);
                            if (value == null) {
                                unknownFields.mergeVarintField(1, rawValue);
                            } else {
                                setType(value);
                            }
                            break;
                        }
                        case 18: {
                            setMessage(input.readString());
                            break;
                        }
                        case 26: {
                            setException(input.readString());
                            break;
                        }
                        case 32: {
                            setErrorCode(input.readInt32());
                            break;
                        }
                        case 42: {
                            setStackTrace(input.readString());
                            break;
                        }
                    }
                }
            }


            // optional .com.alachisoft.ncache.common.protobuf.Exception.Type type = 1;
            public boolean hasType() {
                return result.hasType();
            }

            public com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception.Type getType() {
                return result.getType();
            }

            public Builder setType(com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception.Type value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                result.hasType = true;
                result.type_ = value;
                return this;
            }

            public Builder clearType() {
                result.hasType = false;
                result.type_ = com.alachisoft.ncache.common.protobuf.ExceptionProtocol.Exception.Type.OPERATIONFAILED;
                return this;
            }

            // optional string message = 2;
            public boolean hasMessage() {
                return result.hasMessage();
            }

            public java.lang.String getMessage() {
                return result.getMessage();
            }

            public Builder setMessage(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                result.hasMessage = true;
                result.message_ = value;
                return this;
            }

            public Builder clearMessage() {
                result.hasMessage = false;
                result.message_ = getDefaultInstance().getMessage();
                return this;
            }

            // optional string exception = 3;
            public boolean hasException() {
                return result.hasException();
            }

            public java.lang.String getException() {
                return result.getException();
            }

            public Builder setException(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                result.hasException = true;
                result.exception_ = value;
                return this;
            }

            public Builder clearException() {
                result.hasException = false;
                result.exception_ = getDefaultInstance().getException();
                return this;
            }

            // optional int32 errorCode = 4;
            public boolean hasErrorCode() {
                return result.hasErrorCode();
            }

            public int getErrorCode() {
                return result.getErrorCode();
            }

            public Builder setErrorCode(int value) {
                result.hasErrorCode = true;
                result.errorCode_ = value;
                return this;
            }

            public Builder clearErrorCode() {
                result.hasErrorCode = false;
                result.errorCode_ = 0;
                return this;
            }

            // optional string stackTrace = 5;
            public boolean hasStackTrace() {
                return result.hasStackTrace();
            }

            public java.lang.String getStackTrace() {
                return result.getStackTrace();
            }

            public Builder setStackTrace(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                result.hasStackTrace = true;
                result.stackTrace_ = value;
                return this;
            }

            public Builder clearStackTrace() {
                result.hasStackTrace = false;
                result.stackTrace_ = getDefaultInstance().getStackTrace();
                return this;
            }

            // @@protoc_insertion_point(builder_scope:com.alachisoft.ncache.common.protobuf.Exception)
        }

        // @@protoc_insertion_point(class_scope:com.alachisoft.ncache.common.protobuf.Exception)
    }

    // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy