001/*
002 * The contents of this file are subject to the license and copyright
003 * detailed in the LICENSE and NOTICE files at the root of the source
004 * tree.
005 */
006package org.fcrepo.kernel.api.rdf;
007
008/**
009 * Kernel level API to hold the LdpPreferTag and internal logic decisions.
010 * @author whikloj
011 * @since 6.0.0
012 */
013public interface LdpTriplePreferences {
014
015    /**
016     * What the prefer tag choice is.
017     */
018    enum PreferChoice {
019        INCLUDE,
020        EXCLUDE,
021        SILENT
022    }
023
024    /**
025     * @return Whether to display user rdf based on this preference tag and internal defaults.
026     */
027    boolean displayUserRdf();
028
029    /**
030     * @return Whether to display membership triples based on this preference tag and internal defaults.
031     */
032    boolean displayMembership();
033
034    /**
035     * @return Whether to display containment triples based on this preference tag and internal defaults.
036     */
037    boolean displayContainment();
038
039    /**
040     * @return Whether to display inbound reference triples based on this preference tag and internal defaults.
041     */
042    boolean displayReferences();
043
044    /**
045     * @return Whether to display contained resources' triples based on this preference tag and internal defaults.
046     */
047    boolean displayEmbed();
048
049    /**
050     * @return Whether to display server managed triples based on this preference tag and internal defaults.
051     */
052    boolean displayServerManaged();
053
054}