com.memority.citadel.shared.api.services.FieldBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of citadel-api Show documentation
Show all versions of citadel-api Show documentation
This artifact provides the API classes that are necessary to implement general configuration Rules on the Memority IM platform.
/*
* Copyright (c) 2016-2023 Memority. All Rights Reserved.
*
* This file is part of Memority Citadel API , a Memority project.
*
* This file is released under the Memority Public Artifacts End-User License Agreement,
* see
* Unauthorized copying of this file, via any medium is strictly prohibited.
*/
package com.memority.citadel.shared.api.services;
import java.time.Instant;
import java.time.LocalDate;
import java.util.List;
/**
* Field builder
* @param the parent builder class
*/
public interface FieldBuilder {
/**
* Configures a String field value
* @return a {@link FieldValueBuilder}
*/
FieldValueBuilder ofTypeString();
/**
* Configures an Integer field value
* @return a {@link FieldValueBuilder}
*/
FieldValueBuilder ofTypeInteger();
/**
* Configures a Float field value
* @return a {@link FieldValueBuilder}
*/
FieldValueBuilder ofTypeFloat();
/**
* Configures a DateTime field value
* @return a {@link FieldValueBuilder}
*/
FieldValueBuilder ofTypeDatetime();
/**
* Configures a Date field value
* @return a {@link FieldValueBuilder}
*/
FieldValueBuilder ofTypeDate();
/**
* Configures a Boolean field value
* @return a {@link FieldValueBuilder}
*/
FieldValueBuilder ofTypeBoolean();
/**
* Configures a Binary field value
* @return a {@link FieldValueBuilder}
*/
FieldValueBuilder ofTypeBinary();
/**
* Configures an Identity Ref field value
* @return a {@link FieldValueBuilder}
*/
FieldValueBuilder ofTypeIdentityRef();
/**
* Configures an Organization Ref field value
* @return a {@link FieldValueBuilder}
*/
FieldValueBuilder ofTypeOrganizationRef();
/**
* Configures a Resource Ref field value
* @return a {@link FieldValueBuilder}
*/
FieldValueBuilder ofTypeResourceRef();
/**
* Configures a Role Ref field value
* @return a {@link FieldValueBuilder}
*/
FieldValueBuilder ofTypeRoleRef();
/**
* Configures a Role Publication Ref field value
* @return a {@link FieldValueBuilder}
*/
FieldValueBuilder ofTypeRolePublicationRef();
/**
* Field value builder
* @param the parent builder class
* @param the Field value type
*/
interface FieldValueBuilder {
/**
* Specifies the field value
* @param value the value
* @return the parent builder
*/
B value(T value);
/**
* Specifies the field values
* @param values the values
* @return the parent builder
*/
@SuppressWarnings("unchecked")
B values(T... values);
/**
* Specifies the field values
* @param values the values
* @return the parent builder
*/
B values(List values);
}
}