@Override
 public boolean setProperty(NabuccoProperty property) {
   if (super.setProperty(property)) {
     return true;
   }
   if ((property.getName().equals(INITIALIZATIONTYPENAME) && (property.getType() == Name.class))) {
     this.setInitializationTypeName(((Name) property.getInstance()));
     return true;
   }
   return false;
 }
 @Override
 public boolean setProperty(NabuccoProperty property) {
   if (super.setProperty(property)) {
     return true;
   }
   if ((property.getName().equals(REFRESHINTERVAL) && (property.getType() == Number.class))) {
     this.setRefreshInterval(((Number) property.getInstance()));
     return true;
   }
   return false;
 }
 @Override
 @SuppressWarnings("unchecked")
 public boolean setProperty(NabuccoProperty property) {
   if (super.setProperty(property)) {
     return true;
   }
   if ((property.getName().equals(VENDORLIST) && (property.getType() == Vendor.class))) {
     this.vendorList = ((NabuccoList<Vendor>) property.getInstance());
     return true;
   }
   return false;
 }
 @Override
 @SuppressWarnings("unchecked")
 public boolean setProperty(NabuccoProperty property) {
   if (super.setProperty(property)) {
     return true;
   }
   if ((property.getName().equals(EMPLOYEEIDLIST) && (property.getType() == Identifier.class))) {
     this.employeeIdList = ((NabuccoList<Identifier>) property.getInstance());
     return true;
   }
   return false;
 }
  @Override
  public String getLabel(String propertyPath, WebRenderer renderer) {
    NabuccoProperty property = this.resolver.resolveProperty(propertyPath);

    if (property == null) {
      return DEFAULT_LABEL;
    }

    Object instance = property.getInstance();

    if (!(instance instanceof NType)) {
      return DEFAULT_LABEL;
    }

    return renderer.render((NType) instance, property);
  }
  @Override
  public void setProperty(NabuccoProperty property) {
    super.setProperty(property);

    // If possible set upload path
    NabuccoProperty uploadFilePathProperty = property.getParent().getProperty(UPLOADFILEPATH);
    if (uploadFilePathProperty != null) {
      Path instance = (Path) uploadFilePathProperty.getInstance();
      if (instance == null) {
        instance = new Path();
      }

      instance.setValue(this.getResolvedUploadPath());
      NabuccoProperty newPathproperty = uploadFilePathProperty.createProperty(instance);
      property.getParent().setProperty(newPathproperty);
    }
  }
 @Override
 public boolean setProperty(NabuccoProperty property) {
   if (super.setProperty(property)) {
     return true;
   }
   if ((property.getName().equals(USTID) && (property.getType() == FunctionalIdentifier.class))) {
     this.setUstId(((FunctionalIdentifier) property.getInstance()));
     return true;
   } else if ((property.getName().equals(AMTSGERICHT) && (property.getType() == Name.class))) {
     this.setAmtsgericht(((Name) property.getInstance()));
     return true;
   } else if ((property.getName().equals(HANDELSREGISTER)
       && (property.getType() == FunctionalIdentifier.class))) {
     this.setHandelsregister(((FunctionalIdentifier) property.getInstance()));
     return true;
   }
   return false;
 }
  @Override
  public String getLabelFromMessage(String message, WebRenderer renderer) {
    Map<String, String> propertyMap = new HashMap<String, String>();

    PropertyStringParser propertyParser = new PropertyStringParser(message);

    // Build the map with resolved properties
    Set<String> parsedProperties = propertyParser.parseProperties();

    for (String propertyName : parsedProperties) {
      NabuccoProperty resolvedProperty = this.resolver.resolveProperty(propertyName);

      if (resolvedProperty == null) {
        propertyMap.put(propertyName, DEFAULT_LABEL);
        continue;
      }

      Object propertyInstance = resolvedProperty.getInstance();

      if (propertyInstance instanceof Basetype) {
        String value = renderer.render((NType) propertyInstance, resolvedProperty);
        propertyMap.put(propertyName, value);
      } else if (propertyInstance instanceof Enumeration) {
        String value = renderer.render((NType) propertyInstance, resolvedProperty);
        propertyMap.put(propertyName, value);
      } else if (propertyInstance instanceof Code) {
        String value = renderer.render((NType) propertyInstance, resolvedProperty);
        propertyMap.put(propertyName, value);
      } else {
        propertyMap.put(propertyName, DEFAULT_LABEL);
      }
    }

    String retVal = MessageFormatter.format(message, propertyMap);

    return retVal;
  }
 @Override
 public boolean setProperty(NabuccoProperty property) {
   if (super.setProperty(property)) {
     return true;
   }
   if ((property.getName().equals(SELECTION) && (property.getType() == BooleanProperty.class))) {
     this.setSelection(((BooleanProperty) property.getInstance()));
     return true;
   } else if ((property.getName().equals(MODIFICATION)
       && (property.getType() == EnumerationProperty.class))) {
     this.setModification(((EnumerationProperty) property.getInstance()));
     return true;
   }
   return false;
 }
 @Override
 public boolean setProperty(NabuccoProperty property) {
   if (super.setProperty(property)) {
     return true;
   }
   if ((property.getName().equals(TESTCONFIGELEMENT)
       && (property.getType() == TestConfigElement.class))) {
     this.setTestConfigElement(((TestConfigElement) property.getInstance()));
     return true;
   } else if ((property.getName().equals(TESTCONFIGELEMENTCONTAINER)
       && (property.getType() == TestConfigElementContainer.class))) {
     this.setTestConfigElementContainer(((TestConfigElementContainer) property.getInstance()));
     return true;
   }
   return false;
 }
 @Override
 public boolean setProperty(NabuccoProperty property) {
   if (super.setProperty(property)) {
     return true;
   }
   if ((property.getName().equals(MAXITERATIONS) && (property.getType() == Number.class))) {
     this.setMaxIterations(((Number) property.getInstance()));
     return true;
   } else if ((property.getName().equals(MAXDURATION) && (property.getType() == Duration.class))) {
     this.setMaxDuration(((Duration) property.getInstance()));
     return true;
   } else if ((property.getName().equals(WAIT) && (property.getType() == Duration.class))) {
     this.setWait(((Duration) property.getInstance()));
     return true;
   } else if ((property.getName().equals(INDEXNAME) && (property.getType() == Name.class))) {
     this.setIndexName(((Name) property.getInstance()));
     return true;
   }
   return false;
 }
 @Override
 public boolean setProperty(NabuccoProperty property) {
   if (super.setProperty(property)) {
     return true;
   }
   if ((property.getName().equals(OWNER) && (property.getType() == Owner.class))) {
     this.setOwner(((Owner) property.getInstance()));
     return true;
   } else if ((property.getName().equals(DESCRIPTION)
       && (property.getType() == LongDescription.class))) {
     this.setDescription(((LongDescription) property.getInstance()));
     return true;
   } else if ((property.getName().equals(TYPE) && (property.getType() == AddressType.class))) {
     this.setType(((AddressType) property.getInstance()));
     return true;
   } else if ((property.getName().equals(STATUSTYPE)
       && (property.getType() == StatusType.class))) {
     this.setStatusType(((StatusType) property.getInstance()));
     return true;
   } else if ((property.getName().equals(FUNCTIONALID)
       && (property.getType() == FunctionalIdentifier.class))) {
     this.setFunctionalId(((FunctionalIdentifier) property.getInstance()));
     return true;
   } else if ((property.getName().equals(FUNCTIONALTYPE) && (property.getType() == Code.class))) {
     this.setFunctionalType(((Code) property.getInstance()));
     return true;
   }
   return false;
 }
 @Override
 public boolean setProperty(NabuccoProperty property) {
   if (super.setProperty(property)) {
     return true;
   }
   if ((property.getName().equals(NAME) && (property.getType() == StringProperty.class))) {
     this.setName(((StringProperty) property.getInstance()));
     return true;
   } else if ((property.getName().equals(OWNER) && (property.getType() == StringProperty.class))) {
     this.setOwner(((StringProperty) property.getInstance()));
     return true;
   } else if ((property.getName().equals(DESCRIPTION)
       && (property.getType() == StringProperty.class))) {
     this.setDescription(((StringProperty) property.getInstance()));
     return true;
   } else if ((property.getName().equals(TYPE)
       && (property.getType() == EnumerationProperty.class))) {
     this.setType(((EnumerationProperty) property.getInstance()));
     return true;
   }
   return false;
 }
 @Override
 @SuppressWarnings("unchecked")
 public boolean setProperty(NabuccoProperty property) {
   if (super.setProperty(property)) {
     return true;
   }
   if ((property.getName().equals(FILTERSETID) && (property.getType() == StringProperty.class))) {
     this.setFilterSetId(((StringProperty) property.getInstance()));
     return true;
   } else if ((property.getName().equals(NAME) && (property.getType() == StringProperty.class))) {
     this.setName(((StringProperty) property.getInstance()));
     return true;
   } else if ((property.getName().equals(DESCRIPTION)
       && (property.getType() == StringProperty.class))) {
     this.setDescription(((StringProperty) property.getInstance()));
     return true;
   } else if ((property.getName().equals(FILTERS)
       && (property.getType() == QueryFilterExtension.class))) {
     this.filters = ((NabuccoList<QueryFilterExtension>) property.getInstance());
     return true;
   } else if ((property.getName().equals(COMPONENT)
       && (property.getType() == ClassProperty.class))) {
     this.setComponent(((ClassProperty) property.getInstance()));
     return true;
   }
   return false;
 }