public Set getProperties()

in core/bootstrap/src/main/java/org/yaml/snakeyaml/TypeDescription.java [324:378]


    public Set<Property> getProperties() {
        if (dumpProperties != null) {
            return dumpProperties;
        }

        if (propertyUtils != null) {
            if (includes != null) {
                dumpProperties = new LinkedHashSet<Property>();
                for (String propertyName : includes) {
                    if (!excludes.contains(propertyName)) {
                        dumpProperties.add(getProperty(propertyName));
                    }
                }
                return dumpProperties;
            }

            final Set<Property> readableProps = (beanAccess == null)
                    ? propertyUtils.getProperties(type)
                    : propertyUtils.getProperties(type, beanAccess);

            if (properties.isEmpty()) {
                if (excludes.isEmpty()) {
                    return dumpProperties = readableProps;
                }
                dumpProperties = new LinkedHashSet<Property>();
                for (Property property : readableProps) {
                    if (!excludes.contains(property.getName())) {
                        dumpProperties.add(property);
                    }
                }
                return dumpProperties;
            }

            if (!delegatesChecked) {
                checkDelegates();
            }

            dumpProperties = new LinkedHashSet<Property>();

            for (Property property : properties.values()) {
                if (!excludes.contains(property.getName()) && property.isReadable()) {
                    dumpProperties.add(property);
                }
            }

            for (Property property : readableProps) {
                if (!excludes.contains(property.getName())) {
                    dumpProperties.add(property);
                }
            }

            return dumpProperties;
        }
        return null;
    }