Class LocalDescriptor

java.lang.Object
com.xebialabs.deployit.booter.local.LocalDescriptor
All Implemented Interfaces:
com.xebialabs.deployit.plugin.api.reflect.Descriptor
Direct Known Subclasses:
GenerateDeployableLocalDescriptor, GeneratedParameterLocalDescriptor

public abstract class LocalDescriptor extends Object implements com.xebialabs.deployit.plugin.api.reflect.Descriptor
  • Field Details

    • logger

      protected final org.slf4j.Logger logger
    • validators

      protected List<com.xebialabs.deployit.plugin.api.validation.Validator<com.xebialabs.deployit.plugin.api.udm.ConfigurationItem>> validators
    • verifications

      protected transient List<com.xebialabs.deployit.plugin.api.reflect.TypeVerification> verifications
    • ownIcon

      protected transient boolean ownIcon
  • Constructor Details

    • LocalDescriptor

      protected LocalDescriptor(com.xebialabs.deployit.plugin.api.reflect.Type registeredType)
  • Method Details

    • descriptorRegistry

      protected com.xebialabs.deployit.plugin.api.reflect.IDescriptorRegistry descriptorRegistry()
    • getType

      public com.xebialabs.deployit.plugin.api.reflect.Type getType()
      Specified by:
      getType in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • getClazz

      public Class<? extends com.xebialabs.deployit.plugin.api.udm.ConfigurationItem> getClazz()
      Specified by:
      getClazz in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • setClazz

      protected void setClazz(Class<? extends com.xebialabs.deployit.plugin.api.udm.ConfigurationItem> clazz)
    • getRootName

      public String getRootName()
      Specified by:
      getRootName in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • getRootNameMaybe

      protected Optional<String> getRootNameMaybe()
    • setRootName

      protected void setRootName(Optional<String> rootName)
    • getLabel

      public String getLabel()
      Specified by:
      getLabel in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • setLabel

      protected void setLabel(String label)
    • getSuperClasses

      public List<com.xebialabs.deployit.plugin.api.reflect.Type> getSuperClasses()
      Specified by:
      getSuperClasses in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • addSuperClass

      protected void addSuperClass(com.xebialabs.deployit.plugin.api.reflect.Type supertype)
    • getInterfaces

      public Set<com.xebialabs.deployit.plugin.api.reflect.Type> getInterfaces()
      Specified by:
      getInterfaces in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • addInterface

      protected void addInterface(com.xebialabs.deployit.plugin.api.reflect.Type intf)
    • getIcon

      public String getIcon()
      Specified by:
      getIcon in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • setIcon

      protected void setIcon(String icon)
    • isVersioned

      public boolean isVersioned()
      Specified by:
      isVersioned in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • setVersioned

      protected void setVersioned(boolean versioned)
    • isVirtual

      public boolean isVirtual()
      Specified by:
      isVirtual in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • setVirtual

      protected void setVirtual(boolean virtual)
    • getDescription

      public String getDescription()
      Specified by:
      getDescription in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • setDescription

      protected void setDescription(String description)
    • isInspectable

      public boolean isInspectable()
      Specified by:
      isInspectable in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • setInspectable

      protected void setInspectable(boolean inspectable)
    • isAssignableTo

      public boolean isAssignableTo(Class<?> clazz)
      Specified by:
      isAssignableTo in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • isAssignableTo

      public boolean isAssignableTo(com.xebialabs.deployit.plugin.api.reflect.Type type)
      Specified by:
      isAssignableTo in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • getCreator

      public com.xebialabs.deployit.plugin.api.reflect.CreatorDescriptor getCreator()
      Specified by:
      getCreator in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • setCreator

      public void setCreator(com.xebialabs.deployit.plugin.api.reflect.CreatorDescriptor creator)
    • addPropertyDescriptor

      protected void addPropertyDescriptor(LocalPropertyDescriptor propertyDescriptor)
    • getPropertyDescriptors

      public Collection<com.xebialabs.deployit.plugin.api.reflect.PropertyDescriptor> getPropertyDescriptors()
      Specified by:
      getPropertyDescriptors in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • getPropertyDescriptorsAsMap

      protected Map<String,LocalPropertyDescriptor> getPropertyDescriptorsAsMap()
    • getPropertyDescriptor

      public com.xebialabs.deployit.plugin.api.reflect.PropertyDescriptor getPropertyDescriptor(String name)
      Specified by:
      getPropertyDescriptor in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • addControlTask

      protected void addControlTask(com.xebialabs.deployit.plugin.api.reflect.MethodDescriptor from)
    • getControlTask

      public com.xebialabs.deployit.plugin.api.reflect.MethodDescriptor getControlTask(String name)
      Specified by:
      getControlTask in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • getControlTasks

      public Collection<com.xebialabs.deployit.plugin.api.reflect.MethodDescriptor> getControlTasks()
      Specified by:
      getControlTasks in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • getControlTasksAsMap

      protected Map<String,com.xebialabs.deployit.plugin.api.reflect.MethodDescriptor> getControlTasksAsMap()
    • applyTypeModification

      protected void applyTypeModification(TypeModificationSpecification modificationSpec)
    • createValidators

      protected static List<com.xebialabs.deployit.plugin.api.validation.Validator<com.xebialabs.deployit.plugin.api.udm.ConfigurationItem>> createValidators(List<ValidationRuleSpecification> valSpecs, com.xebialabs.deployit.plugin.api.reflect.Type type)
    • createVerifications

      protected static List<com.xebialabs.deployit.plugin.api.reflect.TypeVerification> createVerifications(List<String> types, com.xebialabs.deployit.plugin.api.reflect.Type type)
    • getPropertyDescriptors

      protected List<LocalPropertyDescriptor> getPropertyDescriptors(List<PropertySpecification> propertySpecifications)
    • validateAndAddControlTask

      protected void validateAndAddControlTask(MethodSpecification methodSpecification)
    • verifyNewControlTask

      protected void verifyNewControlTask(com.xebialabs.deployit.plugin.api.reflect.MethodDescriptor controlTask)
    • overrideOrAddPropertyDescriptor

      protected void overrideOrAddPropertyDescriptor(LocalPropertyDescriptor propertyDescriptor)
    • getSyntheticPropertyValue

      protected Object getSyntheticPropertyValue(com.xebialabs.deployit.plugin.api.udm.ConfigurationItem configurationItem, String propertyName)
    • setSyntheticPropertyValue

      protected void setSyntheticPropertyValue(com.xebialabs.deployit.plugin.api.udm.ConfigurationItem configurationItem, String propertyName, Object value)
    • getDeployableType

      public com.xebialabs.deployit.plugin.api.reflect.Type getDeployableType()
      Specified by:
      getDeployableType in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • setContainerType

      protected void setContainerType(com.xebialabs.deployit.plugin.api.reflect.Type containerType)
    • getContainerType

      public com.xebialabs.deployit.plugin.api.reflect.Type getContainerType()
      Specified by:
      getContainerType in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • setDeployableType

      protected void setDeployableType(com.xebialabs.deployit.plugin.api.reflect.Type deployableType)
    • verify

      public void verify(Verifications verifications)
    • newInstance

      public <T extends com.xebialabs.deployit.plugin.api.udm.ConfigurationItem> T newInstance(String id)
      Specified by:
      newInstance in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • areEqual

      public boolean areEqual(com.xebialabs.deployit.plugin.api.udm.ConfigurationItem item, com.xebialabs.deployit.plugin.api.udm.ConfigurationItem other)
      Specified by:
      areEqual in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • toLabel

      protected String toLabel(com.xebialabs.deployit.plugin.api.reflect.Type type)
    • initHierarchy

      protected void initHierarchy()
    • resolveIcon

      protected void resolveIcon()
    • validate

      public List<com.xebialabs.deployit.plugin.api.validation.ValidationMessage> validate(com.xebialabs.deployit.plugin.api.udm.ConfigurationItem ci)
      Specified by:
      validate in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • validate

      public List<com.xebialabs.deployit.plugin.api.validation.ValidationMessage> validate(com.xebialabs.deployit.plugin.api.validation.ExtendedValidationContext context, com.xebialabs.deployit.plugin.api.udm.ConfigurationItem ci)
      Specified by:
      validate in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • validateInputHint

      public List<com.xebialabs.deployit.plugin.api.validation.ValidationMessage> validateInputHint(com.xebialabs.deployit.plugin.api.udm.ConfigurationItem configurationItem)
      Specified by:
      validateInputHint in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
    • isOwnIcon

      public boolean isOwnIcon()
    • setOwnIcon

      public void setOwnIcon(boolean ownIcon)
    • toString

      public String toString()
      Specified by:
      toString in interface com.xebialabs.deployit.plugin.api.reflect.Descriptor
      Overrides:
      toString in class Object
    • typeOf

      protected com.xebialabs.deployit.plugin.api.reflect.Type typeOf(Class<?> clazz)
    • typeOf

      protected com.xebialabs.deployit.plugin.api.reflect.Type typeOf(String referencedType)