Package com.google.cloud.chronicle.v1
Class DataAccessScope
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
com.google.cloud.chronicle.v1.DataAccessScope
- All Implemented Interfaces:
DataAccessScopeOrBuilder,com.google.protobuf.Message,com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,Serializable
@Generated
public final class DataAccessScope
extends com.google.protobuf.GeneratedMessage
implements DataAccessScopeOrBuilder
A DataAccessScope is a boolean expression of data access labels used to restrict access to data for users.Protobuf type
google.cloud.chronicle.v1.DataAccessScope- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA DataAccessScope is a boolean expression of data access labels used to restrict access to data for users.Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessage
com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT, BuilderT>>, com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.FieldAccessorTable, com.google.protobuf.GeneratedMessage.GeneratedExtension<ContainingT extends com.google.protobuf.Message, T extends Object>, com.google.protobuf.GeneratedMessage.UnusedPrivateParameter Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessage
com.google.protobuf.AbstractMessage.BuilderParentNested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessageLite.InternalOneOfEnum -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intFields inherited from class com.google.protobuf.GeneratedMessage
alwaysUseFieldBuilders, loggedPre22TypeNames, unknownFieldsFields inherited from class com.google.protobuf.AbstractMessage
memoizedSizeFields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode -
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleanOptional.getAllowedDataAccessLabels(int index) Optional.intOptional.Optional.getAllowedDataAccessLabelsOrBuilder(int index) Optional.List<? extends DataAccessLabelReferenceOrBuilder>Optional.Output only.com.google.protobuf.ByteStringOutput only.com.google.protobuf.TimestampOutput only.com.google.protobuf.TimestampOrBuilderOutput only.static DataAccessScopegetDeniedDataAccessLabels(int index) Optional.intOptional.Optional.getDeniedDataAccessLabelsOrBuilder(int index) Optional.List<? extends DataAccessLabelReferenceOrBuilder>Optional.Optional.com.google.protobuf.ByteStringOptional.static final com.google.protobuf.Descriptors.DescriptorOutput only.com.google.protobuf.ByteStringOutput only.Output only.com.google.protobuf.ByteStringOutput only.getName()Required.com.google.protobuf.ByteStringRequired.com.google.protobuf.Parser<DataAccessScope>intcom.google.protobuf.TimestampOutput only.com.google.protobuf.TimestampOrBuilderOutput only.booleanOutput only.inthashCode()booleanOutput only.protected com.google.protobuf.GeneratedMessage.FieldAccessorTablefinal booleanstatic DataAccessScope.Builderstatic DataAccessScope.BuildernewBuilder(DataAccessScope prototype) protected DataAccessScope.BuildernewBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent) static DataAccessScopeparseDelimitedFrom(InputStream input) static DataAccessScopeparseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static DataAccessScopeparseFrom(byte[] data) static DataAccessScopeparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static DataAccessScopeparseFrom(com.google.protobuf.ByteString data) static DataAccessScopeparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static DataAccessScopeparseFrom(com.google.protobuf.CodedInputStream input) static DataAccessScopeparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static DataAccessScopeparseFrom(InputStream input) static DataAccessScopeparseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static DataAccessScopeparseFrom(ByteBuffer data) static DataAccessScopeparseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser<DataAccessScope>parser()voidwriteTo(com.google.protobuf.CodedOutputStream output) Methods inherited from class com.google.protobuf.GeneratedMessage
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, newFileScopedGeneratedExtension, newInstance, newMessageScopedGeneratedExtension, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagMethods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashFields, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite
addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Field Details
-
NAME_FIELD_NUMBER
public static final int NAME_FIELD_NUMBER- See Also:
-
ALLOWED_DATA_ACCESS_LABELS_FIELD_NUMBER
public static final int ALLOWED_DATA_ACCESS_LABELS_FIELD_NUMBER- See Also:
-
DENIED_DATA_ACCESS_LABELS_FIELD_NUMBER
public static final int DENIED_DATA_ACCESS_LABELS_FIELD_NUMBER- See Also:
-
DISPLAY_NAME_FIELD_NUMBER
public static final int DISPLAY_NAME_FIELD_NUMBER- See Also:
-
CREATE_TIME_FIELD_NUMBER
public static final int CREATE_TIME_FIELD_NUMBER- See Also:
-
UPDATE_TIME_FIELD_NUMBER
public static final int UPDATE_TIME_FIELD_NUMBER- See Also:
-
AUTHOR_FIELD_NUMBER
public static final int AUTHOR_FIELD_NUMBER- See Also:
-
LAST_EDITOR_FIELD_NUMBER
public static final int LAST_EDITOR_FIELD_NUMBER- See Also:
-
DESCRIPTION_FIELD_NUMBER
public static final int DESCRIPTION_FIELD_NUMBER- See Also:
-
ALLOW_ALL_FIELD_NUMBER
public static final int ALLOW_ALL_FIELD_NUMBER- See Also:
-
-
Method Details
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessage
-
getName
Required. The unique full name of the data access scope. The name should comply with https://google.aip.dev/122 standards.
string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }- Specified by:
getNamein interfaceDataAccessScopeOrBuilder- Returns:
- The name.
-
getNameBytes
public com.google.protobuf.ByteString getNameBytes()Required. The unique full name of the data access scope. The name should comply with https://google.aip.dev/122 standards.
string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }- Specified by:
getNameBytesin interfaceDataAccessScopeOrBuilder- Returns:
- The bytes for name.
-
getAllowedDataAccessLabelsList
Optional. The allowed labels for the scope. Either allow_all or allowed_data_access_labels needs to be provided. When provided, there has to be at least one label allowed for the scope to be valid. The logical operator for evaluation of the allowed labels is OR. E.g.: A customer with scope with allowed labels A and B will be able to see data with labeled with A or B or (A and B).
repeated .google.cloud.chronicle.v1.DataAccessLabelReference allowed_data_access_labels = 2 [(.google.api.field_behavior) = OPTIONAL];- Specified by:
getAllowedDataAccessLabelsListin interfaceDataAccessScopeOrBuilder
-
getAllowedDataAccessLabelsOrBuilderList
Optional. The allowed labels for the scope. Either allow_all or allowed_data_access_labels needs to be provided. When provided, there has to be at least one label allowed for the scope to be valid. The logical operator for evaluation of the allowed labels is OR. E.g.: A customer with scope with allowed labels A and B will be able to see data with labeled with A or B or (A and B).
repeated .google.cloud.chronicle.v1.DataAccessLabelReference allowed_data_access_labels = 2 [(.google.api.field_behavior) = OPTIONAL];- Specified by:
getAllowedDataAccessLabelsOrBuilderListin interfaceDataAccessScopeOrBuilder
-
getAllowedDataAccessLabelsCount
public int getAllowedDataAccessLabelsCount()Optional. The allowed labels for the scope. Either allow_all or allowed_data_access_labels needs to be provided. When provided, there has to be at least one label allowed for the scope to be valid. The logical operator for evaluation of the allowed labels is OR. E.g.: A customer with scope with allowed labels A and B will be able to see data with labeled with A or B or (A and B).
repeated .google.cloud.chronicle.v1.DataAccessLabelReference allowed_data_access_labels = 2 [(.google.api.field_behavior) = OPTIONAL];- Specified by:
getAllowedDataAccessLabelsCountin interfaceDataAccessScopeOrBuilder
-
getAllowedDataAccessLabels
Optional. The allowed labels for the scope. Either allow_all or allowed_data_access_labels needs to be provided. When provided, there has to be at least one label allowed for the scope to be valid. The logical operator for evaluation of the allowed labels is OR. E.g.: A customer with scope with allowed labels A and B will be able to see data with labeled with A or B or (A and B).
repeated .google.cloud.chronicle.v1.DataAccessLabelReference allowed_data_access_labels = 2 [(.google.api.field_behavior) = OPTIONAL];- Specified by:
getAllowedDataAccessLabelsin interfaceDataAccessScopeOrBuilder
-
getAllowedDataAccessLabelsOrBuilder
Optional. The allowed labels for the scope. Either allow_all or allowed_data_access_labels needs to be provided. When provided, there has to be at least one label allowed for the scope to be valid. The logical operator for evaluation of the allowed labels is OR. E.g.: A customer with scope with allowed labels A and B will be able to see data with labeled with A or B or (A and B).
repeated .google.cloud.chronicle.v1.DataAccessLabelReference allowed_data_access_labels = 2 [(.google.api.field_behavior) = OPTIONAL];- Specified by:
getAllowedDataAccessLabelsOrBuilderin interfaceDataAccessScopeOrBuilder
-
getDeniedDataAccessLabelsList
Optional. The denied labels for the scope. The logical operator for evaluation of the denied labels is AND. E.g.: A customer with scope with denied labels A and B won't be able to see data labeled with A and data labeled with B and data with labels A and B.
repeated .google.cloud.chronicle.v1.DataAccessLabelReference denied_data_access_labels = 3 [(.google.api.field_behavior) = OPTIONAL];- Specified by:
getDeniedDataAccessLabelsListin interfaceDataAccessScopeOrBuilder
-
getDeniedDataAccessLabelsOrBuilderList
Optional. The denied labels for the scope. The logical operator for evaluation of the denied labels is AND. E.g.: A customer with scope with denied labels A and B won't be able to see data labeled with A and data labeled with B and data with labels A and B.
repeated .google.cloud.chronicle.v1.DataAccessLabelReference denied_data_access_labels = 3 [(.google.api.field_behavior) = OPTIONAL];- Specified by:
getDeniedDataAccessLabelsOrBuilderListin interfaceDataAccessScopeOrBuilder
-
getDeniedDataAccessLabelsCount
public int getDeniedDataAccessLabelsCount()Optional. The denied labels for the scope. The logical operator for evaluation of the denied labels is AND. E.g.: A customer with scope with denied labels A and B won't be able to see data labeled with A and data labeled with B and data with labels A and B.
repeated .google.cloud.chronicle.v1.DataAccessLabelReference denied_data_access_labels = 3 [(.google.api.field_behavior) = OPTIONAL];- Specified by:
getDeniedDataAccessLabelsCountin interfaceDataAccessScopeOrBuilder
-
getDeniedDataAccessLabels
Optional. The denied labels for the scope. The logical operator for evaluation of the denied labels is AND. E.g.: A customer with scope with denied labels A and B won't be able to see data labeled with A and data labeled with B and data with labels A and B.
repeated .google.cloud.chronicle.v1.DataAccessLabelReference denied_data_access_labels = 3 [(.google.api.field_behavior) = OPTIONAL];- Specified by:
getDeniedDataAccessLabelsin interfaceDataAccessScopeOrBuilder
-
getDeniedDataAccessLabelsOrBuilder
Optional. The denied labels for the scope. The logical operator for evaluation of the denied labels is AND. E.g.: A customer with scope with denied labels A and B won't be able to see data labeled with A and data labeled with B and data with labels A and B.
repeated .google.cloud.chronicle.v1.DataAccessLabelReference denied_data_access_labels = 3 [(.google.api.field_behavior) = OPTIONAL];- Specified by:
getDeniedDataAccessLabelsOrBuilderin interfaceDataAccessScopeOrBuilder
-
getDisplayName
Output only. The name to be used for display to customers of the data access scope.
string display_name = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];- Specified by:
getDisplayNamein interfaceDataAccessScopeOrBuilder- Returns:
- The displayName.
-
getDisplayNameBytes
public com.google.protobuf.ByteString getDisplayNameBytes()Output only. The name to be used for display to customers of the data access scope.
string display_name = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];- Specified by:
getDisplayNameBytesin interfaceDataAccessScopeOrBuilder- Returns:
- The bytes for displayName.
-
hasCreateTime
public boolean hasCreateTime()Output only. The time at which the data access scope was created.
.google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];- Specified by:
hasCreateTimein interfaceDataAccessScopeOrBuilder- Returns:
- Whether the createTime field is set.
-
getCreateTime
public com.google.protobuf.Timestamp getCreateTime()Output only. The time at which the data access scope was created.
.google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];- Specified by:
getCreateTimein interfaceDataAccessScopeOrBuilder- Returns:
- The createTime.
-
getCreateTimeOrBuilder
public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder()Output only. The time at which the data access scope was created.
.google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];- Specified by:
getCreateTimeOrBuilderin interfaceDataAccessScopeOrBuilder
-
hasUpdateTime
public boolean hasUpdateTime()Output only. The time at which the data access scope was last updated.
.google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];- Specified by:
hasUpdateTimein interfaceDataAccessScopeOrBuilder- Returns:
- Whether the updateTime field is set.
-
getUpdateTime
public com.google.protobuf.Timestamp getUpdateTime()Output only. The time at which the data access scope was last updated.
.google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];- Specified by:
getUpdateTimein interfaceDataAccessScopeOrBuilder- Returns:
- The updateTime.
-
getUpdateTimeOrBuilder
public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder()Output only. The time at which the data access scope was last updated.
.google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];- Specified by:
getUpdateTimeOrBuilderin interfaceDataAccessScopeOrBuilder
-
getAuthor
Output only. The user who created the data access scope.
string author = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];- Specified by:
getAuthorin interfaceDataAccessScopeOrBuilder- Returns:
- The author.
-
getAuthorBytes
public com.google.protobuf.ByteString getAuthorBytes()Output only. The user who created the data access scope.
string author = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];- Specified by:
getAuthorBytesin interfaceDataAccessScopeOrBuilder- Returns:
- The bytes for author.
-
getLastEditor
Output only. The user who last updated the data access scope.
string last_editor = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];- Specified by:
getLastEditorin interfaceDataAccessScopeOrBuilder- Returns:
- The lastEditor.
-
getLastEditorBytes
public com.google.protobuf.ByteString getLastEditorBytes()Output only. The user who last updated the data access scope.
string last_editor = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];- Specified by:
getLastEditorBytesin interfaceDataAccessScopeOrBuilder- Returns:
- The bytes for lastEditor.
-
getDescription
Optional. A description of the data access scope for a human reader.
string description = 9 [(.google.api.field_behavior) = OPTIONAL];- Specified by:
getDescriptionin interfaceDataAccessScopeOrBuilder- Returns:
- The description.
-
getDescriptionBytes
public com.google.protobuf.ByteString getDescriptionBytes()Optional. A description of the data access scope for a human reader.
string description = 9 [(.google.api.field_behavior) = OPTIONAL];- Specified by:
getDescriptionBytesin interfaceDataAccessScopeOrBuilder- Returns:
- The bytes for description.
-
getAllowAll
public boolean getAllowAll()Optional. Whether or not the scope allows all labels, allow_all and allowed_data_access_labels are mutually exclusive and one of them must be present. denied_data_access_labels can still be used along with allow_all. When combined with denied_data_access_labels, access will be granted to all data that doesn't have labels mentioned in denied_data_access_labels. E.g.: A customer with scope with denied labels A and B and allow_all will be able to see all data except data labeled with A and data labeled with B and data with labels A and B.
bool allow_all = 10 [(.google.api.field_behavior) = OPTIONAL];- Specified by:
getAllowAllin interfaceDataAccessScopeOrBuilder- Returns:
- The allowAll.
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessage
-
writeTo
- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessage- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessage
-
equals
- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein classcom.google.protobuf.AbstractMessage
-
parseFrom
public static DataAccessScope parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DataAccessScope parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DataAccessScope parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DataAccessScope parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DataAccessScope parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DataAccessScope parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static DataAccessScope parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- Throws:
IOException
-
parseDelimitedFrom
public static DataAccessScope parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
public static DataAccessScope parseFrom(com.google.protobuf.CodedInputStream input) throws IOException - Throws:
IOException
-
parseFrom
public static DataAccessScope parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
newBuilderForType
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
-
toBuilder
- Specified by:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected DataAccessScope.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent) - Overrides:
newBuilderForTypein classcom.google.protobuf.AbstractMessage
-
getDefaultInstance
-
parser
-
getParserForType
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessage
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-