All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.innoq.codeyourmodel.core.meta2.Element.groovy Maven / Gradle / Ivy

package com.innoq.codeyourmodel.core.meta2

import groovy.transform.EqualsAndHashCode
import groovy.util.logging.Log

@Log
@EqualsAndHashCode
class Element {
  static final RESERVED_PROPERTY_NAMES = ['name', 'class', 'relationships', 'relationshipDefinitions', 'RESERVED_PROPERTY_NAMES']

  String name
  List relationships = []

  @Override
  String toString() {
    "${this.class.simpleName}('${this.name}')"
  }

  transient List customProperties() {
    this.metaClass.properties
      .findAll { !(it.name in RESERVED_PROPERTY_NAMES) }
      .findAll { this.getProperty(it.name) != null }
      .collect { it.name }
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy