Skip to content
This repository has been archived by the owner on Feb 15, 2024. It is now read-only.

Commit

Permalink
Merge branch 'master'
Browse files Browse the repository at this point in the history
  • Loading branch information
sebbader committed Aug 4, 2021
2 parents 4ee21bc + 6f25280 commit b669af8
Show file tree
Hide file tree
Showing 180 changed files with 4,487 additions and 4,475 deletions.
79 changes: 78 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,47 @@
<groupId>io.admin-shell.aas</groupId>
<artifactId>model</artifactId>
<version>${revision}</version>

<!-- Description, name, URL, developers, and scm are required by Sonatype for the Central Repository release -->
<description>This project includes a Java representation of the classes defined in the Asset Administration Shell ontology.</description>
<name>Asset Administration Shell Java Model</name>
<url>https://github.com/admin-shell-io/java-model</url>
<developers>
<developer>
<organization>SAP SE</organization>
<url>https://github.com/admin-shell-io/java-model#contributors</url>
</developer>
<developer>
<organization>Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V.</organization>
<url>https://github.com/admin-shell-io/java-model#contributors</url>
</developer>
</developers>

<scm>
<connection>scm:git:git://github.com/admin-shell-io/java-model.git</connection>
<developerConnection>scm:git:git://github.com/admin-shell-io/java-model.git</developerConnection>
<url>https://github.com/admin-shell-io/java-model/tree/main</url>
</scm>

<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>



<properties>
<revision>1.0.0</revision>
<revision>1.0.2</revision>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<plugin.flatten.version>1.2.2</plugin.flatten.version>
<plugin.javadoc.version>3.2.0</plugin.javadoc.version>
<plugin.license.version>4.1</plugin.license.version>
<plugin.projectinfo.version>3.1.2</plugin.projectinfo.version>
<gpg.keyname>0xDFCC34A6</gpg.keyname>
</properties>
<dependencies>
<dependency>
Expand Down Expand Up @@ -52,6 +85,7 @@
<version>${plugin.flatten.version}</version>
<configuration>
<updatePomFile>true</updatePomFile>
<pomElements><name/><description/><url/><developers/><scm/></pomElements>
</configuration>
<executions>
<execution>
Expand Down Expand Up @@ -92,6 +126,49 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<keyname>${gpg.keyname}</keyname>
<passphraseServerId>${gpg.keyname}</passphraseServerId>
</configuration>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

<!-- Central Repository deployment configuration -->
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
</project>
153 changes: 64 additions & 89 deletions src/main/java/io/adminshell/aas/v3/model/AccessControl.java
Original file line number Diff line number Diff line change
@@ -1,155 +1,137 @@
/*
* Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/

package io.adminshell.aas.v3.model;

import io.adminshell.aas.v3.model.annotations.KnownSubtypes;
import io.adminshell.aas.v3.model.annotations.IRI;
import java.util.List;



import io.adminshell.aas.v3.model.annotations.IRI;
import io.adminshell.aas.v3.model.annotations.KnownSubtypes;
import io.adminshell.aas.v3.model.builder.*;
import io.adminshell.aas.v3.model.impl.*;

/**
* Access Control defines the local access control policy administration point.
* Access Control has the major task to define the access permission rules.
* Access Control defines the local access control policy administration point. Access Control has
* the major task to define the access permission rules.
*/
@KnownSubtypes({
@KnownSubtypes.Type(value = DefaultAccessControl.class)
})
public interface AccessControl {

/**
* Access permission rules of the AAS describing the rights assigned to
* (already authenticated) subjects to access elements of the AAS.
* Access permission rules of the AAS describing the rights assigned to (already authenticated)
* subjects to access elements of the AAS.
*
* More information under
* https://admin-shell.io/aas/3/0/RC01/AccessControl/accessPermissionRule
* More information under https://admin-shell.io/aas/3/0/RC01/AccessControl/accessPermissionRule
*
* @return Returns the List of AccessPermissionRules for the property
* accessPermissionRules.
* @return Returns the List of AccessPermissionRules for the property accessPermissionRules.
*/
@IRI("https://admin-shell.io/aas/3/0/RC01/AccessControl/accessPermissionRule")
List<AccessPermissionRule> getAccessPermissionRules();

/**
* Access permission rules of the AAS describing the rights assigned to
* (already authenticated) subjects to access elements of the AAS.
* Access permission rules of the AAS describing the rights assigned to (already authenticated)
* subjects to access elements of the AAS.
*
* More information under
* https://admin-shell.io/aas/3/0/RC01/AccessControl/accessPermissionRule
* More information under https://admin-shell.io/aas/3/0/RC01/AccessControl/accessPermissionRule
*
* @param accessPermissionRules desired value for the property
* accessPermissionRules.
* @param accessPermissionRules desired value for the property accessPermissionRules.
*/
void setAccessPermissionRules(List<AccessPermissionRule> accessPermissionRules);

/**
* Reference to a submodel defining the authenticated subjects that are
* configured for the AAS. They are selectable by the access permission
* rules to assign permissions to the subjects.
* Reference to a submodel defining the authenticated subjects that are configured for the AAS. They
* are selectable by the access permission rules to assign permissions to the subjects.
*
* Default: reference to the submodel referenced via
* defaultSubjectAttributes.
* Default: reference to the submodel referenced via defaultSubjectAttributes.
*
* More information under
* https://admin-shell.io/aas/3/0/RC01/AccessControl/selectableSubjectAttributes
*
* @return Returns the Reference for the property
* selectableSubjectAttributes.
* @return Returns the Reference for the property selectableSubjectAttributes.
*/
@IRI("https://admin-shell.io/aas/3/0/RC01/AccessControl/selectableSubjectAttributes")
Reference getSelectableSubjectAttributes();

/**
* Reference to a submodel defining the authenticated subjects that are
* configured for the AAS. They are selectable by the access permission
* rules to assign permissions to the subjects.
* Reference to a submodel defining the authenticated subjects that are configured for the AAS. They
* are selectable by the access permission rules to assign permissions to the subjects.
*
* Default: reference to the submodel referenced via
* defaultSubjectAttributes.
* Default: reference to the submodel referenced via defaultSubjectAttributes.
*
* More information under
* https://admin-shell.io/aas/3/0/RC01/AccessControl/selectableSubjectAttributes
*
* @param selectableSubjectAttributes desired value for the property
* selectableSubjectAttributes.
* @param selectableSubjectAttributes desired value for the property selectableSubjectAttributes.
*/
void setSelectableSubjectAttributes(Reference selectableSubjectAttributes);

/**
* Reference to a submodel defining the default subjects attributes for the
* AAS that can be used to describe access permission rules.
* Reference to a submodel defining the default subjects attributes for the AAS that can be used to
* describe access permission rules.
*
* The submodel is of kind=Type.
*
* More information under
* https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultSubjectAttributes
* More information under https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultSubjectAttributes
*
* @return Returns the Reference for the property defaultSubjectAttributes.
*/
@IRI("https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultSubjectAttributes")
Reference getDefaultSubjectAttributes();

/**
* Reference to a submodel defining the default subjects attributes for the
* AAS that can be used to describe access permission rules.
* Reference to a submodel defining the default subjects attributes for the AAS that can be used to
* describe access permission rules.
*
* The submodel is of kind=Type.
*
* More information under
* https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultSubjectAttributes
* More information under https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultSubjectAttributes
*
* @param defaultSubjectAttributes desired value for the property
* defaultSubjectAttributes.
* @param defaultSubjectAttributes desired value for the property defaultSubjectAttributes.
*/
void setDefaultSubjectAttributes(Reference defaultSubjectAttributes);

/**
* Reference to a submodel defining which permissions can be assigned to the
* subjects.
* Reference to a submodel defining which permissions can be assigned to the subjects.
*
* Default: reference to the submodel referenced via defaultPermissions
*
* More information under
* https://admin-shell.io/aas/3/0/RC01/AccessControl/selectablePermissions
* More information under https://admin-shell.io/aas/3/0/RC01/AccessControl/selectablePermissions
*
* @return Returns the Reference for the property selectablePermissions.
*/
@IRI("https://admin-shell.io/aas/3/0/RC01/AccessControl/selectablePermissions")
Reference getSelectablePermissions();

/**
* Reference to a submodel defining which permissions can be assigned to the
* subjects.
* Reference to a submodel defining which permissions can be assigned to the subjects.
*
* Default: reference to the submodel referenced via defaultPermissions
*
* More information under
* https://admin-shell.io/aas/3/0/RC01/AccessControl/selectablePermissions
* More information under https://admin-shell.io/aas/3/0/RC01/AccessControl/selectablePermissions
*
* @param selectablePermissions desired value for the property
* selectablePermissions.
* @param selectablePermissions desired value for the property selectablePermissions.
*/
void setSelectablePermissions(Reference selectablePermissions);

/**
* Reference to a submodel defining the default permissions for the AAS.
*
* More information under
* https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultPermissions
* More information under https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultPermissions
*
* @return Returns the Reference for the property defaultPermissions.
*/
Expand All @@ -159,67 +141,60 @@ public interface AccessControl {
/**
* Reference to a submodel defining the default permissions for the AAS.
*
* More information under
* https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultPermissions
* More information under https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultPermissions
*
* @param defaultPermissions desired value for the property
* defaultPermissions.
* @param defaultPermissions desired value for the property defaultPermissions.
*/
void setDefaultPermissions(Reference defaultPermissions);

/**
* Reference to a submodel defining which environment attributes can be
* accessed via the permission rules.
* Reference to a submodel defining which environment attributes can be accessed via the permission
* rules.
*
* More information under
* https://admin-shell.io/aas/3/0/RC01/AccessControl/selectableEnvironmentAttributes
*
* @return Returns the Reference for the property
* selectableEnvironmentAttributes.
* @return Returns the Reference for the property selectableEnvironmentAttributes.
*/
@IRI("https://admin-shell.io/aas/3/0/RC01/AccessControl/selectableEnvironmentAttributes")
Reference getSelectableEnvironmentAttributes();

/**
* Reference to a submodel defining which environment attributes can be
* accessed via the permission rules.
* Reference to a submodel defining which environment attributes can be accessed via the permission
* rules.
*
* More information under
* https://admin-shell.io/aas/3/0/RC01/AccessControl/selectableEnvironmentAttributes
*
* @param selectableEnvironmentAttributes desired value for the property
* selectableEnvironmentAttributes.
* selectableEnvironmentAttributes.
*/
void setSelectableEnvironmentAttributes(Reference selectableEnvironmentAttributes);

/**
* Reference to a submodel defining default environment attributes, i.e.
* attributes that are not describing the asset itself. The submodel is of
* kind=Type. At the same type the values of these environment attributes
* need to be accessible when evaluating the access permission rules. This
* is realized as a policy information point.
* Reference to a submodel defining default environment attributes, i.e. attributes that are not
* describing the asset itself. The submodel is of kind=Type. At the same type the values of these
* environment attributes need to be accessible when evaluating the access permission rules. This is
* realized as a policy information point.
*
* More information under
* https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultEnvironmentAttributes
*
* @return Returns the Reference for the property
* defaultEnvironmentAttributes.
* @return Returns the Reference for the property defaultEnvironmentAttributes.
*/
@IRI("https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultEnvironmentAttributes")
Reference getDefaultEnvironmentAttributes();

/**
* Reference to a submodel defining default environment attributes, i.e.
* attributes that are not describing the asset itself. The submodel is of
* kind=Type. At the same type the values of these environment attributes
* need to be accessible when evaluating the access permission rules. This
* is realized as a policy information point.
* Reference to a submodel defining default environment attributes, i.e. attributes that are not
* describing the asset itself. The submodel is of kind=Type. At the same type the values of these
* environment attributes need to be accessible when evaluating the access permission rules. This is
* realized as a policy information point.
*
* More information under
* https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultEnvironmentAttributes
*
* @param defaultEnvironmentAttributes desired value for the property
* defaultEnvironmentAttributes.
* @param defaultEnvironmentAttributes desired value for the property defaultEnvironmentAttributes.
*/
void setDefaultEnvironmentAttributes(Reference defaultEnvironmentAttributes);

Expand Down
Loading

0 comments on commit b669af8

Please sign in to comment.