package io.cattle.platform.object.meta; import io.cattle.platform.eventing.model.Event; import io.github.ibuildthecloud.gdapi.factory.SchemaFactory; import io.github.ibuildthecloud.gdapi.model.Schema; import io.github.ibuildthecloud.gdapi.util.TypeUtils; import java.util.Map; public interface ObjectMetaDataManager { public static final String TRANSITIONING_YES = Event.TRANSITIONING_YES; public static final String TRANSITIONING_NO = Event.TRANSITIONING_NO; public static final String TRANSITIONING_ERROR = Event.TRANSITIONING_ERROR; public static final String TRANSITIONING_ERROR_OVERRIDE = Event.TRANSITIONING_ERROR + "Override"; public static final String TRANSITIONING_FIELD = "transitioning"; public static final String TRANSITIONING_PROGRESS_FIELD = "transitioningProgress"; public static final String TRANSITIONING_MESSAGE_FIELD = "transitioningMessage"; public static final String TRANSITIONING_MESSAGE_DEFAULT_FIELD = "In Progress"; public static final String STATE_FIELD = "state"; public static final String STATES_FIELD = "states"; public static final String ACCOUNT_FIELD = "accountId"; public static final String CAPABILITIES_FIELD = "capabilities"; public static final String DATA_FIELD = "data"; public static final String KIND_FIELD = "kind"; public static final String ID_FIELD = TypeUtils.ID_FIELD; public static final String NAME_FIELD = "name"; public static final String PUBLIC_FIELD = "isPublic"; public static final String REMOVED_FIELD = "removed"; public static final String REMOVE_TIME_FIELD = "removeTime"; public static final String TYPE_FIELD = "type"; public static final String UUID_FIELD = "uuid"; public static final String CREATED_FIELD = "created"; public static final String SYSTEM_FIELD = "system"; public static final String MAP_SUFFIX = "Map"; public static final String APPEND = "+"; String convertToPropertyNameString(Class<?> recordClass, Object key); String lookupPropertyNameFromFieldName(Class<?> recordClass, String fieldName); Object convertFieldNameFor(String type, Object key); Map<String, String> getLinks(SchemaFactory schemaFactory, String type); Map<String, Relationship> getLinkRelationships(SchemaFactory schemaFactory, String type); Relationship getRelationship(String type, String linkName); Relationship getRelationship(Class<?> clz, String linkName); Relationship getRelationship(String type, String linkName, String fieldName); Relationship getRelationship(Class<?> clz, String linkName, String fieldName); Map<String, Object> getTransitionFields(Schema schema, Object obj); Map<String, ActionDefinition> getActionDefinitions(Object obj); boolean isTransitioningState(Class<?> resourceType, String state); }